syslog-ng source
java_machine.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014 Balabit
3  * Copyright (c) 2014 Viktor Juhasz <viktor.juhasz@balabit.com>
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18  *
19  * As an additional exemption you are allowed to compile & link against the
20  * OpenSSL libraries as published by the OpenSSL project. See the file
21  * COPYING for details.
22  *
23  */
24 
25 #ifndef JAVA_MACHINE_H
26 #define JAVA_MACHINE_H 1
27 
28 #include <jni.h>
29 #include <glib.h>
30 #include "java-class-loader.h"
31 
32 #define CALL_JAVA_FUNCTION_VOID(env, function, ...) (*(env))->function(env)
33 #define CALL_JAVA_FUNCTION(env, function, ...) (*(env))->function(env, __VA_ARGS__)
34 
35 typedef struct _JavaVMSingleton JavaVMSingleton;
36 
37 JavaVMSingleton *java_machine_ref(void);
38 void java_machine_unref(JavaVMSingleton *self);
39 gboolean java_machine_start(JavaVMSingleton *self, const gchar *jvm_options);
40 
42 
43 JNIEnv *java_machine_get_env(JavaVMSingleton *self);
44 
45 jclass java_machine_load_class(JavaVMSingleton *self, const gchar *class_name, const gchar *class_path);
46 
47 #endif
jclass java_machine_load_class(JavaVMSingleton *self, const gchar *class_name, const gchar *class_path)
Definition: java_machine.c:266
void java_machine_unref(JavaVMSingleton *self)
Definition: java_machine.c:112
JNIEnv * java_machine_get_env(JavaVMSingleton *self)
Definition: java_machine.c:273
JavaVMSingleton * java_machine_ref(void)
Definition: java_machine.c:70
gboolean java_machine_start(JavaVMSingleton *self, const gchar *jvm_options)
Definition: java_machine.c:218
void java_machine_detach_thread(void)
Definition: java_machine.c:259
Definition: java_machine.c:37
GString * class_path
Definition: java_machine.c:42