Logo AND Algorithmique Numérique Distribuée

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