Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
f8810eec9a9b5494035d7f6c82fe0bf2a9cbf160
[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\r\r\rvoid \rjapplication_handler_on_start_document(void) \r
8 {\r
9   \rjclass cls;\r
10   \rJNIEnv * env = get_current_thread_env();\r
11   \r\rjmethodID id =\r
12     jxbt_get_static_smethod(env, "simgrid/msg/ApplicationHandler",\r
13                             "onStartDocument", "()V");\r
14   \r\rif (!id || !(cls = jxbt_get_class(env, "simgrid/msg/ApplicationHandler")))\r
15     \rreturn;\r
16   \r\r(*env)->CallStaticVoidMethod(env, cls, id);\r
17 \r}\r
18 \r
19 \r\rvoid \rjapplication_handler_on_end_document(void) \r
20 {\r
21   \rjclass cls;\r
22   \rJNIEnv * env = get_current_thread_env();\r
23   \r\rjmethodID id =\r
24     jxbt_get_static_smethod(env, "simgrid/msg/ApplicationHandler",\r
25                             "onEndDocument", "()V");\r
26   \r\rif (!id || !(cls = jxbt_get_class(env, "simgrid/msg/ApplicationHandler")))\r
27     \rreturn;\r
28   \r\r(*env)->CallStaticVoidMethod(env, cls, id);\r
29 \r}\r
30 \r
31 \r\rvoid \rjapplication_handler_on_begin_process(void) \r
32 {\r
33   \rjstring jhostName;\r
34   \rjstring jfunction;\r
35   \rjclass cls;\r
36   \rJNIEnv * env = get_current_thread_env();\r
37   \r\rjmethodID id =\r
38     jxbt_get_static_smethod(env, "simgrid/msg/ApplicationHandler",\r
39                             "onBeginProcess",\r
40                             "(Ljava/lang/String;Ljava/lang/String;)V");\r
41   \r\rif (!id || !(cls = jxbt_get_class(env, "simgrid/msg/ApplicationHandler")))\r
42     \rreturn;\r
43   \r\rjhostName = (jstring) (*env)->NewStringUTF(env, A_surfxml_process_host);\r
44   \rjfunction =\r
45     (jstring) (*env)->NewStringUTF(env, A_surfxml_process_function);\r
46   \r\r(*env)->CallStaticVoidMethod(env, cls, id, jhostName, jfunction);\r
47 \r}\r
48 \r
49 \r\rvoid \rjapplication_handler_on_process_arg(void) \r
50 {\r
51   \rjstring jarg;\r
52   \rjclass cls;\r
53   \rJNIEnv * env = get_current_thread_env();\r
54   \r\rjmethodID id =\r
55     jxbt_get_static_smethod(env, "simgrid/msg/ApplicationHandler",\r
56                             "onProcessArg", "(Ljava/lang/String;)V");\r
57   \r\rif (!id || !(cls = jxbt_get_class(env, "simgrid/msg/ApplicationHandler")))\r
58     \rreturn;\r
59   \r\rjarg = (jstring) (*env)->NewStringUTF(env, A_surfxml_argument_value);\r
60   \r\r(*env)->CallStaticVoidMethod(env, cls, id, jarg);\r
61 \r}\r
62 \r
63 \r\rvoid \rjapplication_handler_on_property(void) \r
64 {\r
65   \rjstring jid;\r
66   \rjstring jvalue;\r
67   \rjclass cls;\r
68   \rJNIEnv * env = get_current_thread_env();\r
69   \r\rjmethodID id =\r
70     jxbt_get_static_smethod(env, "simgrid/msg/ApplicationHandler",\r
71                             "onProperty",\r
72                             "(Ljava/lang/String;Ljava/lang/String;)V");\r
73   \r\rif (!id || !(cls = jxbt_get_class(env, "simgrid/msg/ApplicationHandler")))\r
74     \rreturn;\r
75   \r\rjid = (jstring) (*env)->NewStringUTF(env, A_surfxml_prop_id);\r
76   \rjvalue = (jstring) (*env)->NewStringUTF(env, A_surfxml_prop_value);\r
77   \r\r(*env)->CallStaticVoidMethod(env, cls, id, jid, jvalue);\r
78 \r}\r
79 \r
80 \r\rvoid \rjapplication_handler_on_end_process(void) \r
81 {\r
82   \rJNIEnv * env = get_current_thread_env();\r
83   \rjclass cls;\r
84   \rjmethodID id =\r
85     jxbt_get_static_smethod(env, "simgrid/msg/ApplicationHandler",\r
86                             "onEndProcess", "()V");\r
87   \r\rif (!id || !(cls = jxbt_get_class(env, "simgrid/msg/ApplicationHandler")))\r
88     \rreturn;\r
89   \r\r(*env)->CallStaticVoidMethod(env, cls, id);\r
90 \r}\r
91 \r
92 \r