1 /* Upcalls to the Java functions used as callback to the FleXML parser. */
3 /* Copyright (c) 2008, 2009, 2010. The SimGrid Team.
4 * All rights reserved. */
6 /* This program is free software; you can redistribute it and/or modify it
7 * under the terms of the license (GNU LGPL) which comes with this package. */
9 #include "jmsg_application_handler.h"
13 #include "surf/surfxml_parse.h"
14 #include "jxbt_utilities.h"
15 void japplication_handler_on_start_document(void)
18 JNIEnv *env = get_current_thread_env();
20 jxbt_get_static_smethod(env, "org/simgrid/msg/ApplicationHandler",
21 "onStartDocument", "()V");
24 || !(cls = jxbt_get_class(env, "org/simgrid/msg/ApplicationHandler")))
27 (*env)->CallStaticVoidMethod(env, cls, id);
30 void japplication_handler_on_end_document(void)
33 JNIEnv *env = get_current_thread_env();
35 jxbt_get_static_smethod(env, "org/simgrid/msg/ApplicationHandler",
36 "onEndDocument", "()V");
39 || !(cls = jxbt_get_class(env, "org/simgrid/msg/ApplicationHandler")))
42 (*env)->CallStaticVoidMethod(env, cls, id);
45 void japplication_handler_on_begin_process(void)
49 jstring jstartTime, jkillTime;
51 JNIEnv *env = get_current_thread_env();
53 jxbt_get_static_smethod(env, "org/simgrid/msg/ApplicationHandler",
55 "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V");
57 || !(cls = jxbt_get_class(env, "org/simgrid/msg/ApplicationHandler")))
59 jhostName = (jstring) (*env)->NewStringUTF(env, A_surfxml_process_host);
61 (jstring) (*env)->NewStringUTF(env, A_surfxml_process_function);
63 jstartTime = (jstring) (*env)->NewStringUTF(env, A_surfxml_process_start_time);
64 jkillTime = (jstring) (*env)->NewStringUTF(env, A_surfxml_process_kill_time);
67 (*env)->CallStaticVoidMethod(env, cls, id, jhostName, jfunction, jstartTime, jkillTime);
70 void japplication_handler_on_process_arg(void)
74 JNIEnv *env = get_current_thread_env();
76 jxbt_get_static_smethod(env, "org/simgrid/msg/ApplicationHandler",
77 "onProcessArg", "(Ljava/lang/String;)V");
79 || !(cls = jxbt_get_class(env, "org/simgrid/msg/ApplicationHandler")))
81 jarg = (jstring) (*env)->NewStringUTF(env, A_surfxml_argument_value);
83 (*env)->CallStaticVoidMethod(env, cls, id, jarg);
86 void japplication_handler_on_property(void)
91 JNIEnv *env = get_current_thread_env();
93 jxbt_get_static_smethod(env, "org/simgrid/msg/ApplicationHandler",
95 "(Ljava/lang/String;Ljava/lang/String;)V");
97 || !(cls = jxbt_get_class(env, "org/simgrid/msg/ApplicationHandler")))
100 jid = (jstring) (*env)->NewStringUTF(env, A_surfxml_prop_id);
101 jvalue = (jstring) (*env)->NewStringUTF(env, A_surfxml_prop_value);
102 (*env)->CallStaticVoidMethod(env, cls, id, jid, jvalue);
105 void japplication_handler_on_end_process(void)
107 JNIEnv *env = get_current_thread_env();
110 jxbt_get_static_smethod(env, "org/simgrid/msg/ApplicationHandler",
111 "onEndProcess", "()V");
113 || !(cls = jxbt_get_class(env, "org/simgrid/msg/ApplicationHandler")))
115 (*env)->CallStaticVoidMethod(env, cls, id);