Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
438990ddd232405b6baed76b5e8da407636b91cd
[simgrid.git] / src / java / jmsg_application_handler.c
1 #include "jmsg_application_handler.h"
2
3 #include "jmsg.h"
4
5 #include "surf/surfxml_parse.h"
6 #include "jxbt_utilities.h"
7 void  japplication_handler_on_start_document(void) {
8   jclass cls;
9   JNIEnv * env = get_current_thread_env();
10   jmethodID id =
11       jxbt_get_static_smethod(env, "simgrid/msg/ApplicationHandler",
12           "onStartDocument", "()V");
13
14   if (!id || !(cls = jxbt_get_class(env, "simgrid/msg/ApplicationHandler")))
15     return;
16
17   (*env)->CallStaticVoidMethod(env, cls, id);
18 }
19
20 void japplication_handler_on_end_document(void) {
21   jclass cls;
22   JNIEnv * env = get_current_thread_env();
23   jmethodID id =
24       jxbt_get_static_smethod(env, "simgrid/msg/ApplicationHandler",
25           "onEndDocument", "()V");
26
27   if (!id || !(cls = jxbt_get_class(env, "simgrid/msg/ApplicationHandler")))
28     return;
29
30   (*env)->CallStaticVoidMethod(env, cls, id);
31 }
32
33 void japplication_handler_on_begin_process(void) {
34   jstring jhostName;
35   jstring jfunction;
36   jclass cls;
37   JNIEnv * env = get_current_thread_env();
38   jmethodID id =
39       jxbt_get_static_smethod(env, "simgrid/msg/ApplicationHandler",
40           "onBeginProcess",
41           "(Ljava/lang/String;Ljava/lang/String;)V");
42   if (!id || !(cls = jxbt_get_class(env, "simgrid/msg/ApplicationHandler")))
43     return;
44   jhostName = (jstring) (*env)->NewStringUTF(env, A_surfxml_process_host);
45   jfunction =
46       (jstring) (*env)->NewStringUTF(env, A_surfxml_process_function);
47   (*env)->CallStaticVoidMethod(env, cls, id, jhostName, jfunction);
48 }
49
50 void japplication_handler_on_process_arg(void) {
51   jstring jarg;
52   jclass cls;
53   JNIEnv * env = get_current_thread_env();
54   jmethodID id =
55       jxbt_get_static_smethod(env, "simgrid/msg/ApplicationHandler",
56           "onProcessArg", "(Ljava/lang/String;)V");
57   if (!id || !(cls = jxbt_get_class(env, "simgrid/msg/ApplicationHandler")))
58     return;
59   jarg = (jstring) (*env)->NewStringUTF(env, A_surfxml_argument_value);
60
61   (*env)->CallStaticVoidMethod(env, cls, id, jarg);
62 }
63
64 void japplication_handler_on_property(void) {
65   jstring jid;
66   jstring jvalue;
67   jclass cls;
68   JNIEnv * env = get_current_thread_env();
69   jmethodID id =
70       jxbt_get_static_smethod(env, "simgrid/msg/ApplicationHandler",
71           "onProperty",
72           "(Ljava/lang/String;Ljava/lang/String;)V");
73   if (!id || !(cls = jxbt_get_class(env, "simgrid/msg/ApplicationHandler")))
74     return;
75
76   jid = (jstring) (*env)->NewStringUTF(env, A_surfxml_prop_id);
77   jvalue = (jstring) (*env)->NewStringUTF(env, A_surfxml_prop_value);
78   (*env)->CallStaticVoidMethod(env, cls, id, jid, jvalue);
79 }
80
81 void japplication_handler_on_end_process(void) {
82   JNIEnv * env = get_current_thread_env();
83   jclass cls;
84   jmethodID id =
85       jxbt_get_static_smethod(env, "simgrid/msg/ApplicationHandler",
86           "onEndProcess", "()V");
87   if (!id || !(cls = jxbt_get_class(env, "simgrid/msg/ApplicationHandler")))
88     return;
89   (*env)->CallStaticVoidMethod(env, cls, id);
90 }