+
+JNIEXPORT void JNICALL
+Java_simgrid_msg_Msg_deployApplication(JNIEnv* env, jclass cls,jstring jdeploymentFile) {
+
+ const char* deploymentFile = (*env)->GetStringUTFChars(env, jdeploymentFile, 0);
+
+ surf_parse_reset_parser();
+
+ surfxml_add_callback(STag_surfxml_process_cb_list, japplication_handler_on_begin_process);
+
+ surfxml_add_callback(ETag_surfxml_argument_cb_list, japplication_handler_on_process_arg);
+
+ surfxml_add_callback(STag_surfxml_prop_cb_list, japplication_handler_on_property);
+
+ surfxml_add_callback(ETag_surfxml_process_cb_list, japplication_handler_on_end_process);
+
+ surf_parse_open(deploymentFile);
+
+ japplication_handler_on_start_document();
+
+ if(surf_parse())
+ jxbt_throw_native(env, xbt_strdup("surf_parse() failed"));
+
+ surf_parse_close();
+
+ japplication_handler_on_end_document();
+
+ (*env)->ReleaseStringUTFChars(env, jdeploymentFile, deploymentFile);
+}