Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[java] Switch Java bindings to .cpp
authorGabriel Corona <gabriel.corona@loria.fr>
Fri, 11 Dec 2015 11:06:52 +0000 (12:06 +0100)
committerGabriel Corona <gabriel.corona@loria.fr>
Fri, 11 Dec 2015 11:46:11 +0000 (12:46 +0100)
22 files changed:
include/simgrid/instr.h
src/bindings/java/jmsg.cpp
src/bindings/java/jmsg_as.cpp [moved from src/bindings/java/jmsg_as.c with 76% similarity]
src/bindings/java/jmsg_as.h
src/bindings/java/jmsg_comm.cpp [moved from src/bindings/java/jmsg_comm.c with 73% similarity]
src/bindings/java/jmsg_comm.h
src/bindings/java/jmsg_file.cpp [moved from src/bindings/java/jmsg_file.c with 82% similarity]
src/bindings/java/jmsg_file.h
src/bindings/java/jmsg_host.cpp [moved from src/bindings/java/jmsg_host.c with 81% similarity]
src/bindings/java/jmsg_rngstream.cpp [moved from src/bindings/java/jmsg_rngstream.c with 87% similarity]
src/bindings/java/jmsg_rngstream.h
src/bindings/java/jmsg_storage.cpp [moved from src/bindings/java/jmsg_storage.c with 80% similarity]
src/bindings/java/jmsg_storage.h
src/bindings/java/jmsg_synchro.cpp [moved from src/bindings/java/jmsg_synchro.c with 76% similarity]
src/bindings/java/jmsg_synchro.h
src/bindings/java/jmsg_task.cpp [moved from src/bindings/java/jmsg_task.c with 73% similarity]
src/bindings/java/jmsg_task.h
src/bindings/java/jmsg_vm.cpp [moved from src/bindings/java/jmsg_vm.c with 92% similarity]
src/bindings/java/jmsg_vm.h
src/bindings/java/jtrace.cpp [moved from src/bindings/java/jtrace.c with 51% similarity]
src/bindings/java/jxbt_utilities.cpp [moved from src/bindings/java/jxbt_utilities.c with 81% similarity]
tools/cmake/DefinePackages.cmake

index 3e6bdea..568981c 100644 (file)
@@ -14,6 +14,8 @@
 #include "simgrid/msg.h"
 #include "simgrid/simdag.h"
 
+SG_BEGIN_DECL()
+
 /*
  * Functions to manage tracing categories
  */
@@ -96,4 +98,6 @@ XBT_PUBLIC(xbt_dynar_t) TRACE_get_edge_types (void);
 XBT_PUBLIC(void) TRACE_pause (void);
 XBT_PUBLIC(void) TRACE_resume (void);
 
+SG_END_DECL()
+
 #endif                          /* INSTR_H_ */
index 50639d9..863053c 100644 (file)
@@ -71,7 +71,8 @@ void jmsg_throw_status(JNIEnv *env, msg_error_t status) {
         jxbt_throw_task_cancelled(env,NULL);
     break;
     default:
-        jxbt_throw_native(env,xbt_strdup("undefined message failed (please see jmsg_throw_status function in jmsg.c)"));
+        jxbt_throw_native(env,xbt_strdup("undefined message failed "
+          "(please see jmsg_throw_status function in jmsg.cpp)"));
   }
 }
 
similarity index 76%
rename from src/bindings/java/jmsg_as.c
rename to src/bindings/java/jmsg_as.cpp
index 85dbcb3..2ebbc0e 100644 (file)
@@ -22,29 +22,29 @@ static jfieldID jas_field_As_bind;
 
 jobject jas_new_instance(JNIEnv * env) {
   jclass cls = jxbt_get_class(env, "org/simgrid/msg/As");
-  return (*env)->NewObject(env, cls, jas_method_As_constructor);
+  return env->NewObject(cls, jas_method_As_constructor);
 }
 
 jobject jas_ref(JNIEnv * env, jobject jas) {
-  return (*env)->NewGlobalRef(env, jas);
+  return env->NewGlobalRef(jas);
 }
 
 void jas_unref(JNIEnv * env, jobject jas) {
-  (*env)->DeleteGlobalRef(env, jas);
+  env->DeleteGlobalRef(jas);
 }
 
 void jas_bind(jobject jas, msg_as_t as, JNIEnv * env) {
-  (*env)->SetLongField(env, jas, jas_field_As_bind, (jlong) (uintptr_t) (as));
+  env->SetLongField(jas, jas_field_As_bind, (jlong) (uintptr_t) (as));
 }
 
 msg_as_t jas_get_native(JNIEnv * env, jobject jas) {
-  return (msg_as_t) (uintptr_t) (*env)->GetLongField(env, jas, jas_field_As_bind);
+  return (msg_as_t) (uintptr_t) env->GetLongField(jas, jas_field_As_bind);
 }
 
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_As_nativeInit(JNIEnv *env, jclass cls) {
-  jclass class_As = (*env)->FindClass(env, "org/simgrid/msg/As");
-  jas_method_As_constructor = (*env)->GetMethodID(env, class_As, "<init>", "()V");
+  jclass class_As = env->FindClass("org/simgrid/msg/As");
+  jas_method_As_constructor = env->GetMethodID(class_As, "<init>", "()V");
   jas_field_As_bind = jxbt_get_jfield(env,class_As, "bind", "J");
   if (!class_As || !jas_method_As_constructor || !jas_field_As_bind) {
     jxbt_throw_native(env,bprintf("Can't find some fields in Java class. You should report this bug."));
@@ -54,7 +54,7 @@ Java_org_simgrid_msg_As_nativeInit(JNIEnv *env, jclass cls) {
 JNIEXPORT jobject JNICALL
 Java_org_simgrid_msg_As_getName(JNIEnv * env, jobject jas) {
   msg_as_t as = jas_get_native(env, jas);
-  return (*env)->NewStringUTF(env, MSG_environment_as_get_name(as));
+  return env->NewStringUTF(MSG_environment_as_get_name(as));
 }
 
 JNIEXPORT jobjectArray JNICALL
@@ -67,13 +67,13 @@ Java_org_simgrid_msg_As_getSons(JNIEnv * env, jobject jas) {
   
   xbt_dict_t dict = MSG_environment_as_get_routing_sons(self_as);
   int count = xbt_dict_length(dict);
-  jclass cls = (*env)->FindClass(env, "org/simgrid/msg/As");
+  jclass cls = env->FindClass("org/simgrid/msg/As");
 
   if (!cls) {
     return NULL;
   }
 
-  jtable = (*env)->NewObjectArray(env, (jsize) count, cls, NULL);
+  jtable = env->NewObjectArray((jsize) count, cls, NULL);
 
   if (!jtable) {
     jxbt_throw_jni(env, "Hosts table allocation failed");
@@ -96,7 +96,7 @@ Java_org_simgrid_msg_As_getSons(JNIEnv * env, jobject jas) {
     }
     jas_bind(tmp_jas, tmp_as, env);
 
-    (*env)->SetObjectArrayElement(env, jtable, index, tmp_jas);
+    env->SetObjectArrayElement(jtable, index, tmp_jas);
     index++;
 
   }
@@ -111,16 +111,16 @@ Java_org_simgrid_msg_As_getProperty(JNIEnv *env, jobject jas, jobject jname) {
     jxbt_throw_notbound(env, "as", jas);
     return NULL;
   }
-  const char *name = (*env)->GetStringUTFChars(env, jname, 0);
+  const char *name = env->GetStringUTFChars((jstring) jname, 0);
 
   const char *property = MSG_environment_as_get_property_value(as, name);
   if (!property) {
     return NULL;
   }
 
-  jobject jproperty = (*env)->NewStringUTF(env, property);
+  jobject jproperty = env->NewStringUTF(property);
 
-  (*env)->ReleaseStringUTFChars(env, jname, name);
+  env->ReleaseStringUTFChars((jstring) jname, name);
 
   return jproperty;
 }
@@ -128,7 +128,7 @@ Java_org_simgrid_msg_As_getProperty(JNIEnv *env, jobject jas, jobject jname) {
 JNIEXPORT jobject JNICALL
 Java_org_simgrid_msg_As_getModel(JNIEnv * env, jobject jas) {
   msg_as_t as = jas_get_native(env, jas);
-  return (*env)->NewStringUTF(env, MSG_environment_as_get_model(as));
+  return env->NewStringUTF(MSG_environment_as_get_model(as));
 }
 
 JNIEXPORT jobjectArray JNICALL
@@ -150,7 +150,7 @@ Java_org_simgrid_msg_As_getHosts(JNIEnv * env, jobject jas)
     return NULL;
   }
   
-  jtable = (*env)->NewObjectArray(env, (jsize) count, cls, NULL);
+  jtable = env->NewObjectArray((jsize) count, cls, NULL);
 
   if (!jtable) {
     jxbt_throw_jni(env, "Hosts table allocation failed");
@@ -163,14 +163,14 @@ Java_org_simgrid_msg_As_getHosts(JNIEnv * env, jobject jas)
 
     jhost = (jobject) xbt_lib_get_level(host, JAVA_HOST_LEVEL);
     if (!jhost) {
-      jname = (*env)->NewStringUTF(env, MSG_host_get_name(host));
+      jname = env->NewStringUTF(MSG_host_get_name(host));
 
       jhost = Java_org_simgrid_msg_Host_getByName(env, cls, jname);
 
       /* FIXME: leak of jname ? */
     }
 
-    (*env)->SetObjectArrayElement(env, jtable, index, jhost);
+    env->SetObjectArrayElement(jtable, index, jhost);
   }
   xbt_dynar_free(&table);
   return jtable;
index 2d871cb..d8f14e5 100644 (file)
@@ -11,6 +11,8 @@
 #include <jni.h>
 #include "simgrid/msg.h"
 
+SG_BEGIN_DECL()
+
 jobject jas_new_instance(JNIEnv * env);
 jobject jas_ref(JNIEnv * env, jobject jas);
 void jas_unref(JNIEnv * env, jobject jas);
@@ -35,4 +37,6 @@ Java_org_simgrid_msg_As_getModel(JNIEnv * env, jobject jas);
 JNIEXPORT jobjectArray JNICALL
 Java_org_simgrid_msg_As_getHosts(JNIEnv * env, jobject jas);
 
+SG_END_DECL()
+
 #endif                          /*!MSG_JAS_H */
similarity index 73%
rename from src/bindings/java/jmsg_comm.c
rename to src/bindings/java/jmsg_comm.cpp
index 061a528..95fa5a2 100644 (file)
@@ -20,24 +20,24 @@ static jfieldID jtask_field_Comm_task;
 static jfieldID jcomm_field_Comm_taskBind;
 
 void jcomm_bind_task(JNIEnv *env, jobject jcomm) {
-  msg_comm_t comm = (msg_comm_t) (uintptr_t) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_bind);
+  msg_comm_t comm = (msg_comm_t) (uintptr_t) env->GetLongField(jcomm, jcomm_field_Comm_bind);
   //test if we are receiving or sending a task.
-  jboolean jreceiving = (*env)->GetBooleanField(env, jcomm, jcomm_field_Comm_receiving);
+  jboolean jreceiving = env->GetBooleanField(jcomm, jcomm_field_Comm_receiving);
   if (jreceiving == JNI_TRUE) {
     //bind the task object.
     msg_task_t task = MSG_comm_get_task(comm);
     xbt_assert(task != NULL, "Task is NULL");
-    jobject jtask_global = MSG_task_get_data(task);
+    jobject jtask_global = (jobject) MSG_task_get_data(task);
     //case where the data has already been retrieved
     if (jtask_global == NULL) {
       return;
     }
 
     //Make sure the data will be correctly gc.
-    jobject jtask_local = (*env)->NewLocalRef(env, jtask_global);
-    (*env)->DeleteGlobalRef(env, jtask_global);
+    jobject jtask_local = env->NewLocalRef(jtask_global);
+    env->DeleteGlobalRef(jtask_global);
 
-    (*env)->SetObjectField(env, jcomm, jtask_field_Comm_task, jtask_local);
+    env->SetObjectField(jcomm, jtask_field_Comm_task, jtask_local);
 
     MSG_task_set_data(task, NULL);
   }
@@ -46,7 +46,7 @@ void jcomm_bind_task(JNIEnv *env, jobject jcomm) {
 
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Comm_nativeInit(JNIEnv *env, jclass cls) {
-  jclass jfield_class_Comm = (*env)->FindClass(env, "org/simgrid/msg/Comm");
+  jclass jfield_class_Comm = env->FindClass("org/simgrid/msg/Comm");
   if (!jfield_class_Comm) {
     jxbt_throw_native(env,bprintf("Can't find the org/simgrid/msg/Comm class."));
     return;
@@ -66,19 +66,19 @@ Java_org_simgrid_msg_Comm_nativeFinalize(JNIEnv *env, jobject jcomm) {
   msg_comm_t comm;
   msg_task_t *task_received;
 
-  task_received = (msg_task_t*)  (uintptr_t) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_taskBind);
+  task_received = (msg_task_t*)  (uintptr_t) env->GetLongField(jcomm, jcomm_field_Comm_taskBind);
   xbt_free(task_received);
 
-  comm = (msg_comm_t) (uintptr_t) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_bind);
+  comm = (msg_comm_t) (uintptr_t) env->GetLongField(jcomm, jcomm_field_Comm_bind);
   MSG_comm_destroy(comm);
 }
 
 JNIEXPORT jboolean JNICALL
 Java_org_simgrid_msg_Comm_test(JNIEnv *env, jobject jcomm) {
   msg_comm_t comm;
-  comm = (msg_comm_t) (uintptr_t) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_bind);
+  comm = (msg_comm_t) (uintptr_t) env->GetLongField(jcomm, jcomm_field_Comm_bind);
 
-  jboolean finished = (*env)->GetBooleanField(env, jcomm, jcomm_field_Comm_finished);
+  jboolean finished = env->GetBooleanField(jcomm, jcomm_field_Comm_finished);
   if (finished == JNI_TRUE) {
     return JNI_TRUE;
   }
@@ -102,20 +102,20 @@ Java_org_simgrid_msg_Comm_test(JNIEnv *env, jobject jcomm) {
 }
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Comm_waitCompletion(JNIEnv *env, jobject jcomm, jdouble timeout) {
-  msg_comm_t comm = (msg_comm_t) (uintptr_t) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_bind);
+  msg_comm_t comm = (msg_comm_t) (uintptr_t) env->GetLongField(jcomm, jcomm_field_Comm_bind);
   if (!comm) {
     jxbt_throw_native(env,bprintf("comm is null"));
     return;
   }
 
-  jboolean finished = (*env)->GetBooleanField(env, jcomm, jcomm_field_Comm_finished);
+  jboolean finished = env->GetBooleanField(jcomm, jcomm_field_Comm_finished);
   if (finished == JNI_TRUE) {
     return;
   }
 
   msg_error_t status;
   status = MSG_comm_wait(comm,(double)timeout);
-  (*env)->SetBooleanField(env, jcomm, jcomm_field_Comm_finished, JNI_TRUE);
+  env->SetBooleanField(jcomm, jcomm_field_Comm_finished, JNI_TRUE);
   if (status == MSG_OK) {
     jcomm_bind_task(env,jcomm);
     return;
index 8b16f8b..310c5bf 100644 (file)
@@ -10,6 +10,9 @@
 #define MSG_JCOMM_H
 #include <jni.h>
 #include <simgrid/msg.h>
+
+SG_BEGIN_DECL()
+
 /**
  * This function binds the task associated with the communication to
  * the java communication object.
@@ -27,4 +30,7 @@ Java_org_simgrid_msg_Comm_test(JNIEnv *env, jobject jcomm);
 
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Comm_waitCompletion(JNIEnv *env, jobject jcomm, jdouble timeout);
+
+SG_END_DECL()
+
 #endif /* MSG_JCOMM_H */
similarity index 82%
rename from src/bindings/java/jmsg_file.c
rename to src/bindings/java/jmsg_file.cpp
index 1210a74..6e7d204 100644 (file)
 #include "jxbt_utilities.h"
 
 void jfile_bind(JNIEnv *env, jobject jfile, msg_file_t fd) {
-  (*env)->SetLongField(env, jfile, jfile_field_bind, (intptr_t)fd);
+  env->SetLongField(jfile, jfile_field_bind, (intptr_t)fd);
 }
 
 msg_file_t jfile_get_native(JNIEnv *env, jobject jfile) {
   msg_file_t file =
-    (msg_file_t)(intptr_t)(*env)->GetLongField(env, jfile, jfile_field_bind);
+    (msg_file_t)(intptr_t)env->GetLongField(jfile, jfile_field_bind);
   return file;
 }
 
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_File_nativeInit(JNIEnv *env, jclass cls) {
-  jclass class_File = (*env)->FindClass(env, "org/simgrid/msg/File");
+  jclass class_File = env->FindClass("org/simgrid/msg/File");
   jfile_field_bind = jxbt_get_jfield(env , class_File, "bind", "J");
   xbt_assert((jfile_field_bind != NULL), "Can't find \"bind\" field in File class.");
 }
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_File_open(JNIEnv *env, jobject jfile, jobject jpath) {
-  const char *path = (*env)->GetStringUTFChars(env, jpath, 0);
+  const char *path = env->GetStringUTFChars((jstring) jpath, 0);
   msg_file_t file;
 
   file = MSG_file_open(path, NULL);
   jfile_bind(env, jfile, file);
 
-  (*env)->ReleaseStringUTFChars(env, jpath, path);
+  env->ReleaseStringUTFChars((jstring) jpath, path);
 }
 JNIEXPORT jlong JNICALL
 Java_org_simgrid_msg_File_read(JNIEnv *env, jobject jfile, jlong jsize) {
index aafc8a4..ea88343 100644 (file)
@@ -11,6 +11,8 @@
 #include <jni.h>
 #include "simgrid/msg.h"
 
+SG_BEGIN_DECL()
+
 jfieldID jfile_field_bind;
 
 void jfile_bind(JNIEnv *env, jobject jfile, msg_file_t fd);
@@ -48,4 +50,6 @@ Java_org_simgrid_msg_File_write(JNIEnv*, jobject, jlong);
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_File_close(JNIEnv*, jobject);
 
+SG_END_DECL()
+
 #endif
similarity index 81%
rename from src/bindings/java/jmsg_host.c
rename to src/bindings/java/jmsg_host.cpp
index c173e33..8a710d5 100644 (file)
@@ -22,23 +22,23 @@ static jfieldID jhost_field_Host_name;
 
 jobject jhost_new_instance(JNIEnv * env) {
   jclass cls = jxbt_get_class(env, "org/simgrid/msg/Host");
-  return (*env)->NewObject(env, cls, jhost_method_Host_constructor);
+  return env->NewObject(cls, jhost_method_Host_constructor);
 }
 
 jobject jhost_ref(JNIEnv * env, jobject jhost) {
-  return (*env)->NewGlobalRef(env, jhost);
+  return env->NewGlobalRef(jhost);
 }
 
 void jhost_unref(JNIEnv * env, jobject jhost) {
-  (*env)->DeleteGlobalRef(env, jhost);
+  env->DeleteGlobalRef(jhost);
 }
 
 void jhost_bind(jobject jhost, msg_host_t host, JNIEnv * env) {
-  (*env)->SetLongField(env, jhost, jhost_field_Host_bind, (jlong) (uintptr_t) (host));
+  env->SetLongField(jhost, jhost_field_Host_bind, (jlong) (uintptr_t) (host));
 }
 
 msg_host_t jhost_get_native(JNIEnv * env, jobject jhost) {
-  return (msg_host_t) (uintptr_t) (*env)->GetLongField(env, jhost, jhost_field_Host_bind);
+  return (msg_host_t) (uintptr_t) env->GetLongField(jhost, jhost_field_Host_bind);
 }
 
 const char *jhost_get_name(jobject jhost, JNIEnv * env) {
@@ -47,7 +47,7 @@ const char *jhost_get_name(jobject jhost, JNIEnv * env) {
 }
 
 jboolean jhost_is_valid(jobject jhost, JNIEnv * env) {
-  if ((*env)->GetLongField(env, jhost, jhost_field_Host_bind)) {
+  if (env->GetLongField(jhost, jhost_field_Host_bind)) {
     return JNI_TRUE;
   } else {
     return JNI_FALSE;
@@ -56,8 +56,8 @@ jboolean jhost_is_valid(jobject jhost, JNIEnv * env) {
 
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Host_nativeInit(JNIEnv *env, jclass cls) {
-  jclass class_Host = (*env)->FindClass(env, "org/simgrid/msg/Host");
-  jhost_method_Host_constructor = (*env)->GetMethodID(env, class_Host, "<init>", "()V");
+  jclass class_Host = env->FindClass("org/simgrid/msg/Host");
+  jhost_method_Host_constructor = env->GetMethodID(class_Host, "<init>", "()V");
   jhost_field_Host_bind = jxbt_get_jfield(env,class_Host, "bind", "J");
   jhost_field_Host_name = jxbt_get_jfield(env, class_Host, "name", "Ljava/lang/String;");
   if (!class_Host || !jhost_field_Host_name || !jhost_method_Host_constructor || !jhost_field_Host_bind) {
@@ -75,16 +75,16 @@ Java_org_simgrid_msg_Host_getByName(JNIEnv * env, jclass cls,
        jxbt_throw_null(env,bprintf("No host can have a null name"));
        return NULL;
   }
-  const char *name = (*env)->GetStringUTFChars(env, jname, 0);
+  const char *name = env->GetStringUTFChars(jname, 0);
   /* get the host by name       (the hosts are created during the grid resolution) */
   host = MSG_host_by_name(name);
 
   if (!host) {                  /* invalid name */
     jxbt_throw_host_not_found(env, name);
-    (*env)->ReleaseStringUTFChars(env, jname, name);
+    env->ReleaseStringUTFChars(jname, name);
     return NULL;
   }
-  (*env)->ReleaseStringUTFChars(env, jname, name);
+  env->ReleaseStringUTFChars(jname, name);
 
   if (!xbt_lib_get_level(host, JAVA_HOST_LEVEL)) {       /* native host not associated yet with java host */
 
@@ -104,7 +104,7 @@ Java_org_simgrid_msg_Host_getByName(JNIEnv * env, jclass cls,
       return NULL;
     }
     /* Sets the java host name */
-    (*env)->SetObjectField(env, jhost, jhost_field_Host_name, jname);
+    env->SetObjectField(jhost, jhost_field_Host_name, jname);
     /* bind the java host and the native host */
     jhost_bind(jhost, host, env);
 
@@ -144,8 +144,8 @@ Java_org_simgrid_msg_Host_currentHost(JNIEnv * env, jclass cls) {
     }
     /* Sets the host name */
     const char *name = MSG_host_get_name(host);
-    jobject jname = (*env)->NewStringUTF(env,name);
-    (*env)->SetObjectField(env, jhost, jhost_field_Host_name, jname);
+    jobject jname = env->NewStringUTF(name);
+    env->SetObjectField(jhost, jhost_field_Host_name, jname);
     /* Bind & store it */
     jhost_bind(jhost, host, env);
     xbt_lib_set(host_lib, host->key, JAVA_HOST_LEVEL, (void *) jhost);
@@ -221,16 +221,16 @@ Java_org_simgrid_msg_Host_getProperty(JNIEnv *env, jobject jhost, jobject jname)
     jxbt_throw_notbound(env, "host", jhost);
     return NULL;
   }
-  const char *name = (*env)->GetStringUTFChars(env, jname, 0);
+  const char *name = env->GetStringUTFChars((jstring) jname, 0);
 
   const char *property = MSG_host_get_property_value(host, name);
   if (!property) {
     return NULL;
   }
 
-  jobject jproperty = (*env)->NewStringUTF(env, property);
+  jobject jproperty = env->NewStringUTF(property);
 
-  (*env)->ReleaseStringUTFChars(env, jname, name);
+  env->ReleaseStringUTFChars((jstring) jname, name);
 
   return jproperty;
 }
@@ -243,14 +243,14 @@ Java_org_simgrid_msg_Host_setProperty(JNIEnv *env, jobject jhost, jobject jname,
     jxbt_throw_notbound(env, "host", jhost);
     return;
   }
-  const char *name = (*env)->GetStringUTFChars(env, jname, 0);
-  const char *value_java = (*env)->GetStringUTFChars(env, jvalue, 0);
+  const char *name = env->GetStringUTFChars((jstring) jname, 0);
+  const char *value_java = env->GetStringUTFChars((jstring) jvalue, 0);
   char *value = xbt_strdup(value_java);
 
   MSG_host_set_property_value(host, name, value, xbt_free_f);
 
-  (*env)->ReleaseStringUTFChars(env, jvalue, value);
-  (*env)->ReleaseStringUTFChars(env, jname, name);
+  env->ReleaseStringUTFChars((jstring) jvalue, value);
+  env->ReleaseStringUTFChars((jstring) jname, name);
 
 }
 JNIEXPORT jboolean JNICALL
@@ -281,9 +281,9 @@ Java_org_simgrid_msg_Host_getMountedStorage(JNIEnv * env, jobject jhost){
        jobjectArray jtable;
        xbt_dict_t dict =  MSG_host_get_mounted_storage_list(host);
        int count = xbt_dict_length(dict);
-       jclass cls = (*env)->FindClass(env, "org/simgrid/msg/Storage");
+       jclass cls = env->FindClass("org/simgrid/msg/Storage");
 
-       jtable = (*env)->NewObjectArray(env, (jsize) count, cls, NULL);
+       jtable = env->NewObjectArray((jsize) count, cls, NULL);
 
        if (!jtable) {
         jxbt_throw_jni(env, "Storages table allocation failed");
@@ -294,9 +294,9 @@ Java_org_simgrid_msg_Host_getMountedStorage(JNIEnv * env, jobject jhost){
        const char *mount_name, *storage_name;
 
        xbt_dict_foreach(dict,cursor,mount_name,storage_name) {
-               jname = (*env)->NewStringUTF(env, storage_name);
+               jname = env->NewStringUTF(storage_name);
          jstorage = Java_org_simgrid_msg_Storage_getByName(env,cls,jname);
-         (*env)->SetObjectArrayElement(env, jtable, index, jstorage);
+         env->SetObjectArrayElement(jtable, index, jstorage);
     index++;
        }
        xbt_dict_free(&dict);
@@ -316,14 +316,14 @@ Java_org_simgrid_msg_Host_getAttachedStorage(JNIEnv * env, jobject jhost){
   xbt_dynar_t dyn = MSG_host_get_attached_storage_list(host);
   int count = xbt_dynar_length(dyn);
   jclass cls = jxbt_get_class(env, "java/lang/String");
-  jtable = (*env)->NewObjectArray(env, (jsize) count, cls, NULL);
+  jtable = env->NewObjectArray((jsize) count, cls, NULL);
   int index;
   char *storage_name;
   jstring jstorage_name;
   for (index = 0; index < count; index++) {
-       storage_name = xbt_dynar_get_as(dyn,index,char*);
-       jstorage_name = (*env)->NewStringUTF(env,storage_name);
-       (*env)->SetObjectArrayElement(env, jtable, index, jstorage_name);
+    storage_name = xbt_dynar_get_as(dyn,index,char*);
+    jstorage_name = env->NewStringUTF(storage_name);
+    env->SetObjectArrayElement(jtable, index, jstorage_name);
   }
 
   return jtable;
@@ -359,7 +359,7 @@ Java_org_simgrid_msg_Host_all(JNIEnv * env, jclass cls_arg)
     return NULL;
   }
 
-  jtable = (*env)->NewObjectArray(env, (jsize) count, cls, NULL);
+  jtable = env->NewObjectArray((jsize) count, cls, NULL);
 
   if (!jtable) {
     jxbt_throw_jni(env, "Hosts table allocation failed");
@@ -371,14 +371,14 @@ Java_org_simgrid_msg_Host_all(JNIEnv * env, jclass cls_arg)
     jhost = (jobject) (xbt_lib_get_level(host, JAVA_HOST_LEVEL));
 
     if (!jhost) {
-      jname = (*env)->NewStringUTF(env, MSG_host_get_name(host));
+      jname = env->NewStringUTF(MSG_host_get_name(host));
 
       jhost =
                Java_org_simgrid_msg_Host_getByName(env, cls_arg, jname);
       /* FIXME: leak of jname ? */
     }
 
-    (*env)->SetObjectArrayElement(env, jtable, index, jhost);
+    env->SetObjectArrayElement(jtable, index, jhost);
   }
   xbt_dynar_free(&table);
   return jtable;
@@ -387,8 +387,8 @@ Java_org_simgrid_msg_Host_all(JNIEnv * env, jclass cls_arg)
 JNIEXPORT void JNICALL 
 Java_org_simgrid_msg_Host_setAsyncMailbox(JNIEnv * env, jclass cls_arg, jobject jname){
 
-  const char *name = (*env)->GetStringUTFChars(env, jname, 0);
+  const char *name = env->GetStringUTFChars((jstring) jname, 0);
   MSG_mailbox_set_async(name);
-  (*env)->ReleaseStringUTFChars(env, jname, name);
+  env->ReleaseStringUTFChars((jstring) jname, name);
 
 }
similarity index 87%
rename from src/bindings/java/jmsg_rngstream.c
rename to src/bindings/java/jmsg_rngstream.cpp
index fba1e34..ea37f5c 100644 (file)
@@ -13,7 +13,7 @@ jfieldID jrngstream_bind;
 
 RngStream jrngstream_to_native(JNIEnv *env, jobject jrngstream) {
   RngStream rngstream =
-    (RngStream)(intptr_t)(*env)->GetLongField(env, jrngstream, jrngstream_bind);
+    (RngStream)(intptr_t)env->GetLongField(jrngstream, jrngstream_bind);
   if (!rngstream) {
     jxbt_throw_notbound(env, "rngstream", jrngstream);
     return NULL;
@@ -23,31 +23,31 @@ RngStream jrngstream_to_native(JNIEnv *env, jobject jrngstream) {
 
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_RngStream_nativeInit(JNIEnv *env, jclass cls) {
-  jclass class_RngStream = (*env)->FindClass(env, "org/simgrid/msg/RngStream");
+  jclass class_RngStream = env->FindClass("org/simgrid/msg/RngStream");
 
   jrngstream_bind = jxbt_get_jfield(env, class_RngStream, "bind", "J");
 }
 
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_RngStream_create(JNIEnv *env, jobject jrngstream, jstring jname) {
-  const char *name = (*env)->GetStringUTFChars(env, jname, 0);
+  const char *name = env->GetStringUTFChars(jname, 0);
   RngStream rngstream = RngStream_CreateStream(name);
   //Bind the RngStream object
-  (*env)->SetLongField(env, jrngstream, jrngstream_bind, (intptr_t)rngstream);
+  env->SetLongField(jrngstream, jrngstream_bind, (intptr_t)rngstream);
 
-  (*env)->ReleaseStringUTFChars(env, jname, name);
+  env->ReleaseStringUTFChars(jname, name);
 }
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_RngStream_nativeFinalize(JNIEnv *env, jobject jrngstream) {
   RngStream rngstream = jrngstream_to_native(env, jrngstream);
   RngStream_DeleteStream(&rngstream);
-  (*env)->SetLongField(env, jrngstream, jrngstream_bind, (intptr_t)NULL);
+  env->SetLongField(jrngstream, jrngstream_bind, (intptr_t)NULL);
 }
 JNIEXPORT jboolean JNICALL
 Java_org_simgrid_msg_RngStream_setPackageSeed(JNIEnv *env, jobject jrngstream, jintArray jseed) {
   jint buffer[6];
 
-  (*env)->GetIntArrayRegion(env, jseed, 0, 6, buffer);
+  env->GetIntArrayRegion(jseed, 0, 6, buffer);
 
   RngStream rngstream = jrngstream_to_native(env, jrngstream);
   if (!rngstream)
@@ -98,7 +98,7 @@ JNIEXPORT jboolean JNICALL
 Java_org_simgrid_msg_RngStream_setSeed(JNIEnv *env, jobject jrngstream, jintArray jseed) {
   jint buffer[6];
 
-  (*env)->GetIntArrayRegion(env, jseed, 0, 6, buffer);
+  env->GetIntArrayRegion(jseed, 0, 6, buffer);
 
   RngStream rngstream = jrngstream_to_native(env, jrngstream);
   if (!rngstream)
index 98a2272..f3827c9 100644 (file)
@@ -11,6 +11,8 @@
 #include <jni.h>
 #include <xbt/RngStream.h>
 
+SG_BEGIN_DECL()
+
 RngStream jrngstream_to_native(JNIEnv *env, jobject jrngstream);
 
 JNIEXPORT void JNICALL
@@ -49,4 +51,6 @@ Java_org_simgrid_msg_RngStream_randU01(JNIEnv *env, jobject jrngstream);
 JNIEXPORT jint JNICALL
 Java_org_simgrid_msg_RngStream_randInt(JNIEnv *env, jobject jrngstream, jint i, jint j);
 
+SG_END_DECL()
+
 #endif                          /* MSG_RNGSTREAM_H */
similarity index 80%
rename from src/bindings/java/jmsg_storage.c
rename to src/bindings/java/jmsg_storage.cpp
index aadd0ab..299b34a 100644 (file)
@@ -22,17 +22,17 @@ static jfieldID jstorage_field_Storage_name;
 
 jobject jstorage_new_instance(JNIEnv * env) {
   jclass cls = jxbt_get_class(env, "org/simgrid/msg/Storage");
-  return (*env)->NewObject(env, cls, jstorage_method_Storage_constructor);
+  return env->NewObject(cls, jstorage_method_Storage_constructor);
 }
 
 msg_storage_t jstorage_get_native(JNIEnv * env, jobject jstorage) {
-  return (msg_storage_t) (uintptr_t) (*env)->GetLongField(env, jstorage, jstorage_field_Storage_bind);
+  return (msg_storage_t) (uintptr_t) env->GetLongField(jstorage, jstorage_field_Storage_bind);
 }
 
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Storage_nativeInit(JNIEnv *env, jclass cls) {
-  jclass class_Storage = (*env)->FindClass(env, "org/simgrid/msg/Storage");
-  jstorage_method_Storage_constructor = (*env)->GetMethodID(env, class_Storage, "<init>", "()V");
+  jclass class_Storage = env->FindClass("org/simgrid/msg/Storage");
+  jstorage_method_Storage_constructor = env->GetMethodID(class_Storage, "<init>", "()V");
   jstorage_field_Storage_bind = jxbt_get_jfield(env,class_Storage, "bind", "J");
   jstorage_field_Storage_name = jxbt_get_jfield(env, class_Storage, "name", "Ljava/lang/String;");
   if (!class_Storage || !jstorage_field_Storage_name || !jstorage_method_Storage_constructor || !jstorage_field_Storage_bind) {
@@ -41,15 +41,15 @@ Java_org_simgrid_msg_Storage_nativeInit(JNIEnv *env, jclass cls) {
 }
 
 void jstorage_bind(jobject jstorage, msg_storage_t storage, JNIEnv * env) {
-  (*env)->SetLongField(env, jstorage, jstorage_field_Storage_bind, (jlong) (uintptr_t) (storage));
+  env->SetLongField(jstorage, jstorage_field_Storage_bind, (jlong) (uintptr_t) (storage));
 }
 
 jobject jstorage_ref(JNIEnv * env, jobject jstorage) {
-  return (*env)->NewGlobalRef(env, jstorage);
+  return env->NewGlobalRef(jstorage);
 }
 
 void jstorage_unref(JNIEnv * env, jobject jstorage) {
-  (*env)->DeleteGlobalRef(env, jstorage);
+  env->DeleteGlobalRef(jstorage);
 }
 
 const char *jstorage_get_name(jobject jstorage, JNIEnv * env) {
@@ -68,15 +68,15 @@ Java_org_simgrid_msg_Storage_getByName(JNIEnv * env, jclass cls,
        jxbt_throw_null(env,bprintf("No host can have a null name"));
        return NULL;
   }
-  const char *name = (*env)->GetStringUTFChars(env, jname, 0);
+  const char *name = env->GetStringUTFChars(jname, 0);
   storage = MSG_storage_get_by_name(name);
 
   if (!storage) {                  /* invalid name */
     jxbt_throw_storage_not_found(env, name);
-    (*env)->ReleaseStringUTFChars(env, jname, name);
+    env->ReleaseStringUTFChars(jname, name);
     return NULL;
   }
-  (*env)->ReleaseStringUTFChars(env, jname, name);
+  env->ReleaseStringUTFChars(jname, name);
 
   if (!xbt_lib_get_level(storage, JAVA_STORAGE_LEVEL)) {       /* native host not associated yet with java host */
 
@@ -96,7 +96,7 @@ Java_org_simgrid_msg_Storage_getByName(JNIEnv * env, jclass cls,
       return NULL;
     }
     /* Sets the java storage name */
-    (*env)->SetObjectField(env, jstorage, jstorage_field_Storage_name, jname);
+    env->SetObjectField(jstorage, jstorage_field_Storage_name, jname);
     /* bind the java storage and the native storage */
     jstorage_bind(jstorage, storage, env);
 
@@ -155,15 +155,15 @@ Java_org_simgrid_msg_Storage_getProperty(JNIEnv *env, jobject jstorage, jobject
     jxbt_throw_notbound(env, "storage", jstorage);
     return NULL;
   }
-  const char *name = (*env)->GetStringUTFChars(env, jname, 0);
+  const char *name = env->GetStringUTFChars((jstring) jname, 0);
 
   const char *property = MSG_storage_get_property_value(storage, name);
   if (!property) {
     return NULL;
   }
-  jobject jproperty = (*env)->NewStringUTF(env, property);
+  jobject jproperty = env->NewStringUTF(property);
 
-  (*env)->ReleaseStringUTFChars(env, jname, name);
+  env->ReleaseStringUTFChars((jstring) jname, name);
 
   return jproperty;
 }
@@ -176,14 +176,14 @@ Java_org_simgrid_msg_Storage_setProperty(JNIEnv *env, jobject jstorage, jobject
     jxbt_throw_notbound(env, "storage", jstorage);
     return;
   }
-  const char *name = (*env)->GetStringUTFChars(env, jname, 0);
-  const char *value_java = (*env)->GetStringUTFChars(env, jvalue, 0);
+  const char *name = env->GetStringUTFChars((jstring) jname, 0);
+  const char *value_java = env->GetStringUTFChars((jstring) jvalue, 0);
   char *value = xbt_strdup(value_java);
 
   MSG_storage_set_property_value(storage, name, value, xbt_free_f);
 
-  (*env)->ReleaseStringUTFChars(env, jvalue, value);
-  (*env)->ReleaseStringUTFChars(env, jname, name);
+  env->ReleaseStringUTFChars((jstring) jvalue, value);
+  env->ReleaseStringUTFChars((jstring) jname, name);
 
 }
 
@@ -199,7 +199,7 @@ Java_org_simgrid_msg_Storage_getHost(JNIEnv * env,jobject jstorage) {
   if (!host_name) {
     return NULL;
   }
-  jobject jhost_name = (*env)->NewStringUTF(env, host_name);
+  jobject jhost_name = env->NewStringUTF(host_name);
 
   return jhost_name;
 }
@@ -222,7 +222,7 @@ Java_org_simgrid_msg_Storage_all(JNIEnv * env, jclass cls_arg)
     return NULL;
   }
 
-  jtable = (*env)->NewObjectArray(env, (jsize) count, cls, NULL);
+  jtable = env->NewObjectArray((jsize) count, cls, NULL);
 
   if (!jtable) {
     jxbt_throw_jni(env, "Storages table allocation failed");
@@ -234,11 +234,11 @@ Java_org_simgrid_msg_Storage_all(JNIEnv * env, jclass cls_arg)
     jstorage = (jobject) (xbt_lib_get_level(storage, JAVA_STORAGE_LEVEL));
 
     if (!jstorage) {
-      jname = (*env)->NewStringUTF(env, MSG_storage_get_name(storage));
+      jname = env->NewStringUTF(MSG_storage_get_name(storage));
       jstorage = Java_org_simgrid_msg_Storage_getByName(env, cls_arg, jname);
     }
 
-    (*env)->SetObjectArrayElement(env, jtable, index, jstorage);
+    env->SetObjectArrayElement(jtable, index, jstorage);
   }
   xbt_dynar_free(&table);
   return jtable;
index 674f1c5..739a930 100644 (file)
@@ -11,6 +11,8 @@
 #include <jni.h>
 #include "simgrid/msg.h"
 
+SG_BEGIN_DECL()
+
 /**
  * This function returns a new java storage instance.
  *
@@ -153,5 +155,6 @@ Java_org_simgrid_msg_Storage_getHost(JNIEnv * env,jobject jstorage);
 JNIEXPORT jobjectArray JNICALL
 Java_org_simgrid_msg_Storage_all(JNIEnv *, jclass);
 
+SG_END_DECL()
 
 #endif                          /*!MSG_JSTORAGE_H */
similarity index 76%
rename from src/bindings/java/jmsg_synchro.c
rename to src/bindings/java/jmsg_synchro.cpp
index 23d1fd2..b8791b4 100644 (file)
@@ -26,14 +26,14 @@ JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Mutex_init(JNIEnv * env, jobject obj) {
   xbt_mutex_t mutex = xbt_mutex_init();
 
-  (*env)->SetLongField(env, obj, jsyncro_field_Mutex_bind, (jlong) (uintptr_t) (mutex));
+  env->SetLongField(obj, jsyncro_field_Mutex_bind, (jlong) (uintptr_t) (mutex));
 }
 
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Mutex_acquire(JNIEnv * env, jobject obj) {
   xbt_mutex_t mutex;
 
-  mutex = (xbt_mutex_t) (uintptr_t) (*env)->GetLongField(env, obj, jsyncro_field_Mutex_bind);
+  mutex = (xbt_mutex_t) (uintptr_t) env->GetLongField(obj, jsyncro_field_Mutex_bind);
   xbt_ex_t e;
   TRY {
     xbt_mutex_acquire(mutex);
@@ -47,7 +47,7 @@ JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Mutex_release(JNIEnv * env, jobject obj) {
   xbt_mutex_t mutex;
 
-  mutex = (xbt_mutex_t) (uintptr_t) (*env)->GetLongField(env, obj, jsyncro_field_Mutex_bind);
+  mutex = (xbt_mutex_t) (uintptr_t) env->GetLongField(obj, jsyncro_field_Mutex_bind);
   xbt_mutex_release(mutex);
 }
 
@@ -55,7 +55,7 @@ JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Mutex_nativeFinalize(JNIEnv * env, jobject obj) {
   xbt_mutex_t mutex;
 
-  mutex = (xbt_mutex_t) (uintptr_t) (*env)->GetLongField(env, obj, jsyncro_field_Mutex_bind);
+  mutex = (xbt_mutex_t) (uintptr_t) env->GetLongField(obj, jsyncro_field_Mutex_bind);
   xbt_mutex_destroy(mutex);
 }
 
@@ -72,7 +72,7 @@ JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Semaphore_init(JNIEnv * env, jobject obj, jint capacity) {
   msg_sem_t sem = MSG_sem_init((int) capacity);
 
-  (*env)->SetLongField(env, obj, jsyncro_field_Semaphore_bind, (jlong) (uintptr_t) (sem));
+  env->SetLongField(obj, jsyncro_field_Semaphore_bind, (jlong) (uintptr_t) (sem));
 }
 
 
@@ -80,7 +80,7 @@ JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Semaphore_acquire(JNIEnv * env, jobject obj, jdouble timeout) {
   msg_sem_t sem;
 
-  sem = (msg_sem_t) (uintptr_t) (*env)->GetLongField(env, obj, jsyncro_field_Semaphore_bind);
+  sem = (msg_sem_t) (uintptr_t) env->GetLongField(obj, jsyncro_field_Semaphore_bind);
   msg_error_t res = MSG_sem_acquire_timeout(sem, (double) timeout);
   if (res != MSG_OK) {
     jmsg_throw_status(env, res);
@@ -91,14 +91,14 @@ JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Semaphore_release(JNIEnv * env, jobject obj) {
   msg_sem_t sem;
 
-  sem = (msg_sem_t) (uintptr_t) (*env)->GetLongField(env, obj, jsyncro_field_Semaphore_bind);
+  sem = (msg_sem_t) (uintptr_t) env->GetLongField(obj, jsyncro_field_Semaphore_bind);
   MSG_sem_release(sem);
 }
 JNIEXPORT jboolean JNICALL
 Java_org_simgrid_msg_Semaphore_wouldBlock(JNIEnv * env, jobject obj) {
   msg_sem_t sem;
 
-  sem = (msg_sem_t) (uintptr_t) (*env)->GetLongField(env, obj, jsyncro_field_Semaphore_bind);
+  sem = (msg_sem_t) (uintptr_t) env->GetLongField(obj, jsyncro_field_Semaphore_bind);
   int res = MSG_sem_would_block(sem);
   return (jboolean) res;
 }
@@ -107,6 +107,6 @@ JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Semaphore_nativeFinalize(JNIEnv * env, jobject obj) {
   msg_sem_t sem;
 
-  sem = (msg_sem_t) (uintptr_t) (*env)->GetLongField(env, obj, jsyncro_field_Semaphore_bind);
+  sem = (msg_sem_t) (uintptr_t) env->GetLongField(obj, jsyncro_field_Semaphore_bind);
   MSG_sem_destroy(sem);
 }
index 0c85745..6d66626 100644 (file)
@@ -13,6 +13,8 @@
 #include <simgrid/msg.h>
 #include <simgrid/simix.h>
 
+SG_BEGIN_DECL()
+
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Mutex_nativeInit(JNIEnv *env, jclass cls);
 
@@ -41,4 +43,7 @@ JNIEXPORT jboolean JNICALL
 Java_org_simgrid_msg_Semaphore_wouldBlock(JNIEnv * env, jobject obj);
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Semaphore_nativeFinalize(JNIEnv * env, jobject obj);
+
+SG_END_DECL()
+
 #endif                          /* !MSG_JPROCESS_H */
similarity index 73%
rename from src/bindings/java/jmsg_task.c
rename to src/bindings/java/jmsg_task.cpp
index f9352b2..7940f7a 100644 (file)
@@ -30,25 +30,25 @@ static jfieldID jtask_field_Comm_receiving;
 
 void jtask_bind(jobject jtask, msg_task_t task, JNIEnv * env)
 {
-  (*env)->SetLongField(env, jtask, jtask_field_Task_bind, (intptr_t)task);
+  env->SetLongField(jtask, jtask_field_Task_bind, (intptr_t)task);
 }
 
 msg_task_t jtask_to_native_task(jobject jtask, JNIEnv * env)
 {
-  return (msg_task_t)(intptr_t)(*env)->GetLongField(env, jtask, jtask_field_Task_bind);
+  return (msg_task_t)(intptr_t)env->GetLongField(jtask, jtask_field_Task_bind);
 }
 
 jboolean jtask_is_valid(jobject jtask, JNIEnv * env)
 {
-  return (*env)->GetLongField(env, jtask, jtask_field_Task_bind) ? JNI_TRUE : JNI_FALSE;
+  return env->GetLongField(jtask, jtask_field_Task_bind) ? JNI_TRUE : JNI_FALSE;
 }
 
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Task_nativeInit(JNIEnv *env, jclass cls) {
-  jclass jtask_class_Comm = (*env)->FindClass(env, "org/simgrid/msg/Comm");
-  jclass jtask_class_Task = (*env)->FindClass(env, "org/simgrid/msg/Task");
+  jclass jtask_class_Comm = env->FindClass("org/simgrid/msg/Comm");
+  jclass jtask_class_Task = env->FindClass("org/simgrid/msg/Task");
 
-  jtask_method_Comm_constructor = (*env)->GetMethodID(env, jtask_class_Comm, "<init>", "()V");
+  jtask_method_Comm_constructor = env->GetMethodID(jtask_class_Comm, "<init>", "()V");
   jtask_field_Task_bind = jxbt_get_jfield(env, jtask_class_Task, "bind", "J");
   jtask_field_Task_name = jxbt_get_jfield(env, jtask_class_Task, "name", "Ljava/lang/String;");
   jtask_field_Task_messageSize = jxbt_get_jfield(env, jtask_class_Task, "messageSize", "D");
@@ -87,7 +87,7 @@ Java_org_simgrid_msg_Task_create(JNIEnv * env,
 
   if (jname) {
     /* get the C string from the java string */
-    name = (*env)->GetStringUTFChars(env, jname, 0);
+    name = env->GetStringUTFChars(jname, 0);
   }
 
   /* create the task */
@@ -95,9 +95,9 @@ Java_org_simgrid_msg_Task_create(JNIEnv * env,
       MSG_task_create(name, (double) jflopsAmount,
                      (double) jbytesAmount, NULL);
   if (jname)
-    (*env)->ReleaseStringUTFChars(env, jname, name);
+    env->ReleaseStringUTFChars(jname, name);
   /* sets the task name */
-  (*env)->SetObjectField(env, jtask, jtask_field_Task_name, jname);
+  env->SetObjectField(jtask, jtask_field_Task_name, jname);
   /* bind & store the task */
   jtask_bind(jtask, task, env);
   MSG_task_set_data(task, jtask);
@@ -144,7 +144,7 @@ Java_org_simgrid_msg_Task_parallelCreate(JNIEnv * env,
     return;
   }
 
-  host_count = (int) (*env)->GetArrayLength(env, jhosts);
+  host_count = (int) env->GetArrayLength(jhosts);
 
 
   hosts = xbt_new0(msg_host_t, host_count);
@@ -152,12 +152,12 @@ Java_org_simgrid_msg_Task_parallelCreate(JNIEnv * env,
   messageSizes = xbt_new0(double, host_count * host_count);
 
   jcomputeDurations =
-      (*env)->GetDoubleArrayElements(env, jcomputeDurations_arg, 0);
+      env->GetDoubleArrayElements(jcomputeDurations_arg, 0);
   jmessageSizes =
-      (*env)->GetDoubleArrayElements(env, jmessageSizes_arg, 0);
+      env->GetDoubleArrayElements(jmessageSizes_arg, 0);
 
   for (index = 0; index < host_count; index++) {
-    jhost = (*env)->GetObjectArrayElement(env, jhosts, index);
+    jhost = env->GetObjectArrayElement(jhosts, index);
     hosts[index] = jhost_get_native(env, jhost);
     computeDurations[index] = jcomputeDurations[index];
   }
@@ -165,22 +165,20 @@ Java_org_simgrid_msg_Task_parallelCreate(JNIEnv * env,
     messageSizes[index] = jmessageSizes[index];
   }
 
-  (*env)->ReleaseDoubleArrayElements(env, jcomputeDurations_arg,
+  env->ReleaseDoubleArrayElements(jcomputeDurations_arg,
                                      jcomputeDurations, 0);
-  (*env)->ReleaseDoubleArrayElements(env, jmessageSizes_arg, jmessageSizes,
-                                     0);
-
+  env->ReleaseDoubleArrayElements(jmessageSizes_arg, jmessageSizes, 0);
 
   /* get the C string from the java string */
-  name = (*env)->GetStringUTFChars(env, jname, 0);
+  name = env->GetStringUTFChars(jname, 0);
 
   task =
       MSG_parallel_task_create(name, host_count, hosts, computeDurations,
                                messageSizes, NULL);
 
-  (*env)->ReleaseStringUTFChars(env, jname, name);
+  env->ReleaseStringUTFChars(jname, name);
   /* sets the task name */
-  (*env)->SetObjectField(env, jtask, jtask_field_Task_name, jname);
+  env->SetObjectField(jtask, jtask_field_Task_name, jname);
   /* associate the java task object and the native task */
   jtask_bind(jtask, task, env);
 
@@ -218,7 +216,7 @@ Java_org_simgrid_msg_Task_execute(JNIEnv * env, jobject jtask)
   }
   msg_error_t rv;
   rv = MSG_task_execute(task);
-  if ((*env)->ExceptionOccurred(env))
+  if (env->ExceptionOccurred())
     return;
   if (rv != MSG_OK) {
     jmsg_throw_status(env, rv);
@@ -247,7 +245,7 @@ Java_org_simgrid_msg_Task_getName(JNIEnv * env,
     return NULL;
   }
 
-  return (*env)->NewStringUTF(env, MSG_task_get_name(task));
+  return env->NewStringUTF(MSG_task_get_name(task));
 }
 
 JNIEXPORT jobject JNICALL
@@ -313,12 +311,12 @@ Java_org_simgrid_msg_Task_setName(JNIEnv *env, jobject jtask, jobject jname) {
                jxbt_throw_notbound(env, "task", jtask);
                return;
        }
-       const char *name = (*env)->GetStringUTFChars(env, jname, 0);
+       const char *name = env->GetStringUTFChars((jstring) jname, 0);
 
-       (*env)->SetObjectField(env, jtask, jtask_field_Task_name, jname);
+       env->SetObjectField(jtask, jtask_field_Task_name, jname);
        MSG_task_set_name(task, name);
 
-       (*env)->ReleaseStringUTFChars(env, jname, name);
+       env->ReleaseStringUTFChars((jstring) jname, name);
 }
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Task_setPriority(JNIEnv * env,
@@ -352,7 +350,7 @@ Java_org_simgrid_msg_Task_setBytesAmount
     jxbt_throw_notbound(env, "task", jtask);
     return;
        }
-        (*env)->SetDoubleField(env, jtask, jtask_field_Task_messageSize, dataSize);
+  env->SetDoubleField(jtask, jtask_field_Task_messageSize, dataSize);
        MSG_task_set_bytes_amount(task, (double) dataSize);
 }
 
@@ -362,21 +360,21 @@ Java_org_simgrid_msg_Task_send(JNIEnv * env,jobject jtask,
                                jdouble jtimeout)
 {
   msg_error_t rv;
-  const char *alias = (*env)->GetStringUTFChars(env, jalias, 0);
+  const char *alias = env->GetStringUTFChars(jalias, 0);
 
   msg_task_t task = jtask_to_native_task(jtask, env);
 
 
   if (!task) {
-    (*env)->ReleaseStringUTFChars(env, jalias, alias);
+    env->ReleaseStringUTFChars(jalias, alias);
     jxbt_throw_notbound(env, "task", jtask);
     return;
   }
 
   /* Pass a global ref to the Jtask into the Ctask so that the receiver can use it */
-  MSG_task_set_data(task, (void *) (*env)->NewGlobalRef(env, jtask));
+  MSG_task_set_data(task, (void *) env->NewGlobalRef(jtask));
   rv = MSG_task_send_with_timeout(task, alias, (double) jtimeout);
-  (*env)->ReleaseStringUTFChars(env, jalias, alias);
+  env->ReleaseStringUTFChars(jalias, alias);
 
   if (rv != MSG_OK) {
     jmsg_throw_status(env, rv);
@@ -390,21 +388,21 @@ Java_org_simgrid_msg_Task_sendBounded(JNIEnv * env,jobject jtask,
                                       jdouble maxrate)
 {
   msg_error_t rv;
-  const char *alias = (*env)->GetStringUTFChars(env, jalias, 0);
+  const char *alias = env->GetStringUTFChars(jalias, 0);
 
   msg_task_t task = jtask_to_native_task(jtask, env);
 
 
   if (!task) {
-    (*env)->ReleaseStringUTFChars(env, jalias, alias);
+    env->ReleaseStringUTFChars(jalias, alias);
     jxbt_throw_notbound(env, "task", jtask);
     return;
   }
 
   /* Pass a global ref to the Jtask into the Ctask so that the receiver can use it */
-  MSG_task_set_data(task, (void *) (*env)->NewGlobalRef(env, jtask));
+  MSG_task_set_data(task, (void *) env->NewGlobalRef(jtask));
   rv = MSG_task_send_with_timeout_bounded(task, alias, (double) jtimeout, (double) maxrate);
-  (*env)->ReleaseStringUTFChars(env, jalias, alias);
+  env->ReleaseStringUTFChars(jalias, alias);
 
   if (rv != MSG_OK) {
     jmsg_throw_status(env, rv);
@@ -433,22 +431,22 @@ Java_org_simgrid_msg_Task_receive(JNIEnv * env, jclass cls,
     }
   }
 
-  alias = (*env)->GetStringUTFChars(env, jalias, 0);
+  alias = env->GetStringUTFChars(jalias, 0);
   rv = MSG_task_receive_ext(task, alias, (double) jtimeout, host);
-  if ((*env)->ExceptionOccurred(env))
+  if (env->ExceptionOccurred())
     return NULL;
   if (rv != MSG_OK) {
     jmsg_throw_status(env,rv);
     return NULL;
   }
-  jtask_global = MSG_task_get_data(*task);
+  jtask_global = (jobject) MSG_task_get_data(*task);
 
   /* Convert the global ref into a local ref so that the JVM can free the stuff */
-  jtask_local = (*env)->NewLocalRef(env, jtask_global);
-  (*env)->DeleteGlobalRef(env, jtask_global);
+  jtask_local = env->NewLocalRef(jtask_global);
+  env->DeleteGlobalRef(jtask_global);
   MSG_task_set_data(*task, NULL);
 
-  (*env)->ReleaseStringUTFChars(env, jalias, alias);
+  env->ReleaseStringUTFChars(jalias, alias);
 
   xbt_free(task);
 
@@ -465,28 +463,28 @@ Java_org_simgrid_msg_Task_irecv(JNIEnv * env, jclass cls, jstring jmailbox) {
        msg_task_t *task = xbt_new(msg_task_t,1);
        *task = NULL;
        /* There should be a cache here */
-       comm_class = (*env)->FindClass(env, "org/simgrid/msg/Comm");
+       comm_class = env->FindClass("org/simgrid/msg/Comm");
 
        if (!comm_class) {
                jxbt_throw_native(env,bprintf("fieldID or methodID or class not found."));
                return NULL;
        }
 
-       jobject jcomm = (*env)->NewObject(env, comm_class, jtask_method_Comm_constructor);
+       jobject jcomm = env->NewObject(comm_class, jtask_method_Comm_constructor);
        if (!jcomm) {
                jxbt_throw_native(env,bprintf("Can't create a Comm object."));
                return NULL;
        }
 
-       mailbox = (*env)->GetStringUTFChars(env, jmailbox, 0);
+       mailbox = env->GetStringUTFChars(jmailbox, 0);
 
        comm = MSG_task_irecv(task,mailbox);
 
-       (*env)->SetLongField(env, jcomm, jtask_field_Comm_bind, (jlong) (uintptr_t)(comm));
-       (*env)->SetLongField(env, jcomm, jtask_field_Comm_taskBind, (jlong) (uintptr_t)(task));
-       (*env)->SetBooleanField(env, jcomm, jtask_field_Comm_receiving, JNI_TRUE);
+       env->SetLongField(jcomm, jtask_field_Comm_bind, (jlong) (uintptr_t)(comm));
+       env->SetLongField(jcomm, jtask_field_Comm_taskBind, (jlong) (uintptr_t)(task));
+       env->SetBooleanField(jcomm, jtask_field_Comm_receiving, JNI_TRUE);
 
-       (*env)->ReleaseStringUTFChars(env, jmailbox, mailbox);
+       env->ReleaseStringUTFChars(jmailbox, mailbox);
 
        return jcomm;
 }
@@ -514,22 +512,22 @@ Java_org_simgrid_msg_Task_receiveBounded(JNIEnv * env, jclass cls,
     }
   }
 
-  alias = (*env)->GetStringUTFChars(env, jalias, 0);
+  alias = env->GetStringUTFChars(jalias, 0);
   rv = MSG_task_receive_ext_bounded(task, alias, (double) jtimeout, host, (double) rate);
-  if ((*env)->ExceptionOccurred(env))
+  if (env->ExceptionOccurred())
     return NULL;
   if (rv != MSG_OK) {
     jmsg_throw_status(env,rv);
     return NULL;
   }
-  jtask_global = MSG_task_get_data(*task);
+  jtask_global = (jobject) MSG_task_get_data(*task);
 
   /* Convert the global ref into a local ref so that the JVM can free the stuff */
-  jtask_local = (*env)->NewLocalRef(env, jtask_global);
-  (*env)->DeleteGlobalRef(env, jtask_global);
+  jtask_local = env->NewLocalRef(jtask_global);
+  env->DeleteGlobalRef(jtask_global);
   MSG_task_set_data(*task, NULL);
 
-  (*env)->ReleaseStringUTFChars(env, jalias, alias);
+  env->ReleaseStringUTFChars(jalias, alias);
 
   xbt_free(task);
 
@@ -546,29 +544,29 @@ Java_org_simgrid_msg_Task_irecvBounded(JNIEnv * env, jclass cls,
        //pointer to store the task object pointer.
        msg_task_t *task = xbt_new(msg_task_t,1);
        *task = NULL;
-       /* There should be a cache here */
-       comm_class = (*env)->FindClass(env, "org/simgrid/msg/Comm");
+       /* There should be a cac hee */
+       comm_class = env->FindClass("org/simgrid/msg/Comm");
 
        if (!comm_class) {
                jxbt_throw_native(env,bprintf("fieldID or methodID or class not found."));
                return NULL;
        }
 
-       jobject jcomm = (*env)->NewObject(env, comm_class, jtask_method_Comm_constructor);
+       jobject jcomm = env->NewObject(comm_class, jtask_method_Comm_constructor);
        if (!jcomm) {
                jxbt_throw_native(env,bprintf("Can't create a Comm object."));
                return NULL;
        }
 
-       mailbox = (*env)->GetStringUTFChars(env, jmailbox, 0);
+       mailbox = env->GetStringUTFChars(jmailbox, 0);
 
        comm = MSG_task_irecv_bounded(task,mailbox, (double) rate);
 
-       (*env)->SetLongField(env, jcomm, jtask_field_Comm_bind, (jlong) (uintptr_t)(comm));
-       (*env)->SetLongField(env, jcomm, jtask_field_Comm_taskBind, (jlong) (uintptr_t)(task));
-       (*env)->SetBooleanField(env, jcomm, jtask_field_Comm_receiving, JNI_TRUE);
+       env->SetLongField(jcomm, jtask_field_Comm_bind, (jlong) (uintptr_t)(comm));
+       env->SetLongField(jcomm, jtask_field_Comm_taskBind, (jlong) (uintptr_t)(task));
+       env->SetBooleanField(jcomm, jtask_field_Comm_receiving, JNI_TRUE);
 
-       (*env)->ReleaseStringUTFChars(env, jmailbox, mailbox);
+       env->ReleaseStringUTFChars(jmailbox, mailbox);
 
        return jcomm;
 }
@@ -584,30 +582,30 @@ Java_org_simgrid_msg_Task_isend(JNIEnv *env, jobject jtask, jstring jmailbox) {
   jobject jcomm;
   msg_comm_t comm;
 
-  comm_class = (*env)->FindClass(env, "org/simgrid/msg/Comm");
+  comm_class = env->FindClass("org/simgrid/msg/Comm");
 
   if (!comm_class) return NULL;
 
-  jcomm = (*env)->NewObject(env, comm_class, jtask_method_Comm_constructor);
-  mailbox = (*env)->GetStringUTFChars(env, jmailbox, 0);
+  jcomm = env->NewObject(comm_class, jtask_method_Comm_constructor);
+  mailbox = env->GetStringUTFChars(jmailbox, 0);
 
   task = jtask_to_native_task(jtask, env);
 
   if (!task) {
-    (*env)->ReleaseStringUTFChars(env, jmailbox, mailbox);
-    (*env)->DeleteLocalRef(env, jcomm);
+    env->ReleaseStringUTFChars(jmailbox, mailbox);
+    env->DeleteLocalRef(jcomm);
     jxbt_throw_notbound(env, "task", jtask);
         return NULL;
   }
 
-MSG_task_set_data(task, (void *) (*env)->NewGlobalRef(env, jtask));
+MSG_task_set_data(task, (void *) env->NewGlobalRef(jtask));
   comm = MSG_task_isend(task,mailbox);
 
-  (*env)->SetLongField(env, jcomm, jtask_field_Comm_bind, (jlong) (uintptr_t)(comm));
-  (*env)->SetLongField(env, jcomm, jtask_field_Comm_taskBind, (jlong) (uintptr_t)(NULL));
-  (*env)->SetBooleanField(env, jcomm, jtask_field_Comm_receiving, JNI_FALSE);
+  env->SetLongField(jcomm, jtask_field_Comm_bind, (jlong) (uintptr_t)(comm));
+  env->SetLongField(jcomm, jtask_field_Comm_taskBind, (jlong) (uintptr_t)(NULL));
+  env->SetBooleanField(jcomm, jtask_field_Comm_receiving, JNI_FALSE);
 
-  (*env)->ReleaseStringUTFChars(env, jmailbox, mailbox);
+  env->ReleaseStringUTFChars(jmailbox, mailbox);
 
   return jcomm;
 }
@@ -623,30 +621,30 @@ Java_org_simgrid_msg_Task_isendBounded(JNIEnv *env, jobject jtask, jstring jmail
   jobject jcomm;
   msg_comm_t comm;
 
-  comm_class = (*env)->FindClass(env, "org/simgrid/msg/Comm");
+  comm_class = env->FindClass("org/simgrid/msg/Comm");
 
   if (!comm_class) return NULL;
 
-  jcomm = (*env)->NewObject(env, comm_class, jtask_method_Comm_constructor);
-  mailbox = (*env)->GetStringUTFChars(env, jmailbox, 0);
+  jcomm = env->NewObject(comm_class, jtask_method_Comm_constructor);
+  mailbox = env->GetStringUTFChars(jmailbox, 0);
 
   task = jtask_to_native_task(jtask, env);
 
   if (!task) {
-    (*env)->ReleaseStringUTFChars(env, jmailbox, mailbox);
-    (*env)->DeleteLocalRef(env, jcomm);
+    env->ReleaseStringUTFChars(jmailbox, mailbox);
+    env->DeleteLocalRef(jcomm);
     jxbt_throw_notbound(env, "task", jtask);
         return NULL;
   }
 
-MSG_task_set_data(task, (void *) (*env)->NewGlobalRef(env, jtask));
+  MSG_task_set_data(task, (void *) env->NewGlobalRef(jtask));
   comm = MSG_task_isend_bounded(task,mailbox,maxrate);
 
-  (*env)->SetLongField(env, jcomm, jtask_field_Comm_bind, (jlong) (uintptr_t)(comm));
-  (*env)->SetLongField(env, jcomm, jtask_field_Comm_taskBind, (jlong) (uintptr_t)(NULL));
-  (*env)->SetBooleanField(env, jcomm, jtask_field_Comm_receiving, JNI_FALSE);
+  env->SetLongField(jcomm, jtask_field_Comm_bind, (jlong) (uintptr_t)(comm));
+  env->SetLongField(jcomm, jtask_field_Comm_taskBind, (jlong) (uintptr_t)(NULL));
+  env->SetBooleanField(jcomm, jtask_field_Comm_receiving, JNI_FALSE);
 
-  (*env)->ReleaseStringUTFChars(env, jmailbox, mailbox);
+  env->ReleaseStringUTFChars(jmailbox, mailbox);
 
   return jcomm;
 }
@@ -664,12 +662,12 @@ Java_org_simgrid_msg_Task_nativeFinalize(JNIEnv * env, jobject jtask) {
 }
 
 static void msg_task_cancel_on_failed_dsend(void*t) {
-  msg_task_t task = t;
+  msg_task_t task = (msg_task_t) t;
   JNIEnv *env =get_current_thread_env();
-  jobject jtask_global = MSG_task_get_data(task);
+  jobject jtask_global = (jobject) MSG_task_get_data(task);
 
   /* Destroy the global ref so that the JVM can free the stuff */
-  (*env)->DeleteGlobalRef(env, jtask_global);
+  env->DeleteGlobalRef(jtask_global);
   MSG_task_set_data(task, NULL);
   MSG_task_destroy(task);
 }
@@ -677,43 +675,43 @@ static void msg_task_cancel_on_failed_dsend(void*t) {
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Task_dsend(JNIEnv * env, jobject jtask,
                                 jstring jalias) {
-  const char *alias = (*env)->GetStringUTFChars(env, jalias, 0);
+  const char *alias = env->GetStringUTFChars(jalias, 0);
 
   msg_task_t task = jtask_to_native_task(jtask, env);
 
 
   if (!task) {
-    (*env)->ReleaseStringUTFChars(env, jalias, alias);
+    env->ReleaseStringUTFChars(jalias, alias);
     jxbt_throw_notbound(env, "task", jtask);
     return;
   }
 
   /* Pass a global ref to the Jtask into the Ctask so that the receiver can use it */
-  MSG_task_set_data(task, (void *) (*env)->NewGlobalRef(env, jtask));
+  MSG_task_set_data(task, (void *) env->NewGlobalRef(jtask));
   MSG_task_dsend(task, alias, msg_task_cancel_on_failed_dsend);
 
-  (*env)->ReleaseStringUTFChars(env, jalias, alias);
+  env->ReleaseStringUTFChars(jalias, alias);
 }
 
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Task_dsendBounded(JNIEnv * env, jobject jtask,
                                 jstring jalias, jdouble maxrate) {
-  const char *alias = (*env)->GetStringUTFChars(env, jalias, 0);
+  const char *alias = env->GetStringUTFChars(jalias, 0);
 
   msg_task_t task = jtask_to_native_task(jtask, env);
 
 
   if (!task) {
-    (*env)->ReleaseStringUTFChars(env, jalias, alias);
+    env->ReleaseStringUTFChars(jalias, alias);
     jxbt_throw_notbound(env, "task", jtask);
     return;
   }
 
   /* Pass a global ref to the Jtask into the Ctask so that the receiver can use it */
-  MSG_task_set_data(task, (void *) (*env)->NewGlobalRef(env, jtask));
+  MSG_task_set_data(task, (void *) env->NewGlobalRef(jtask));
   MSG_task_dsend_bounded(task, alias, msg_task_cancel_on_failed_dsend,(double)maxrate);
 
-  (*env)->ReleaseStringUTFChars(env, jalias, alias);
+  env->ReleaseStringUTFChars(jalias, alias);
 }
 
 
@@ -724,9 +722,9 @@ Java_org_simgrid_msg_Task_listen(JNIEnv * env, jclass cls, jstring jalias)
   const char *alias;
   int rv;
 
-  alias = (*env)->GetStringUTFChars(env, jalias, 0);
+  alias = env->GetStringUTFChars(jalias, 0);
   rv = MSG_task_listen(alias);
-  (*env)->ReleaseStringUTFChars(env, jalias, alias);
+  env->ReleaseStringUTFChars(jalias, alias);
 
   return (jboolean) rv;
 }
@@ -743,9 +741,9 @@ Java_org_simgrid_msg_Task_listenFromHost(JNIEnv * env, jclass cls, jstring jalia
     jxbt_throw_notbound(env, "host", jhost);
     return -1;
   }
-  alias = (*env)->GetStringUTFChars(env, jalias, 0);
+  alias = env->GetStringUTFChars(jalias, 0);
   rv = MSG_task_listen_from_host(alias, host);
-  (*env)->ReleaseStringUTFChars(env, jalias, alias);
+  env->ReleaseStringUTFChars(jalias, alias);
 
   return (jint) rv;
 }
@@ -755,9 +753,9 @@ JNIEXPORT jint JNICALL
 Java_org_simgrid_msg_Task_listenFrom(JNIEnv * env, jclass cls, jstring jalias)
 {
   int rv;
-  const char *alias = (*env)->GetStringUTFChars(env, jalias, 0);
+  const char *alias = env->GetStringUTFChars(jalias, 0);
   rv = MSG_task_listen_from(alias);
-  (*env)->ReleaseStringUTFChars(env, jalias, alias);
+  env->ReleaseStringUTFChars(jalias, alias);
 
   return (jint) rv;
 }
index 934daf0..6509dc0 100644 (file)
@@ -12,6 +12,7 @@
 #include <jni.h>
 #include "simgrid/msg.h"
 
+SG_BEGIN_DECL()
 
 /**
  * This function associated a native task to a java task instance.
@@ -274,6 +275,6 @@ Java_org_simgrid_msg_Task_listenFromHost(JNIEnv *, jclass, jstring,
 JNIEXPORT jint JNICALL
 Java_org_simgrid_msg_Task_listenFrom(JNIEnv *, jclass, jstring);
 
-
+SG_END_DECL()
 
 #endif                          /* !MSG_JTASK_H */
similarity index 92%
rename from src/bindings/java/jmsg_vm.c
rename to src/bindings/java/jmsg_vm.cpp
index 3dd3397..a5be2cc 100644 (file)
@@ -19,15 +19,15 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(jmsg);
 static jfieldID jvm_field_bind;
 
 void jvm_bind(JNIEnv *env, jobject jvm, msg_vm_t vm) {
-  (*env)->SetLongField(env, jvm, jvm_field_bind, (intptr_t)vm);
+  env->SetLongField(jvm, jvm_field_bind, (intptr_t)vm);
 }
 msg_vm_t jvm_get_native(JNIEnv *env, jobject jvm) {
-  return (msg_vm_t)(intptr_t)(*env)->GetLongField(env, jvm, jvm_field_bind);
+  return (msg_vm_t)(intptr_t)env->GetLongField(jvm, jvm_field_bind);
 }
 
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_VM_nativeInit(JNIEnv *env, jclass cls) {
-  jclass jprocess_class_VM = (*env)->FindClass(env, "org/simgrid/msg/VM");
+  jclass jprocess_class_VM = env->FindClass("org/simgrid/msg/VM");
   jvm_field_bind = jxbt_get_jfield(env, jprocess_class_VM, "bind", "J");
   if (!jvm_field_bind  ) {
     jxbt_throw_native(env,bprintf("Can't find some fields in Java class. You should report this bug."));
@@ -91,7 +91,7 @@ Java_org_simgrid_msg_VM_create(JNIEnv *env, jobject jvm, jobject jhost, jstring
   msg_host_t host = jhost_get_native(env, jhost);
 
   const char *name;
-  name = (*env)->GetStringUTFChars(env, jname, 0);
+  name = env->GetStringUTFChars(jname, 0);
   name = xbt_strdup(name);
 
   // TODO disk concerns are not taken into account yet
@@ -187,8 +187,10 @@ Java_org_simgrid_msg_VM_get_pm(JNIEnv *env, jobject jvm) {
     }
     /* Sets the host name */
     const char *name = MSG_host_get_name(host);
-    jobject jname = (*env)->NewStringUTF(env,name);
-    (*env)->SetObjectField(env, jhost, jxbt_get_jfield(env, (*env)->FindClass(env, "org/simgrid/msg/Host"), "name", "Ljava/lang/String;"), jname);
+    jobject jname = env->NewStringUTF(name);
+    env->SetObjectField(jhost, jxbt_get_jfield(env,
+      env->FindClass("org/simgrid/msg/Host"), "name", "Ljava/lang/String;"),
+      jname);
     /* Bind & store it */
     jhost_bind(jhost, host, env);
     xbt_lib_set(host_lib, host->key, JAVA_HOST_LEVEL, (void *) jhost);
index 80b3e7c..6168766 100644 (file)
@@ -12,6 +12,8 @@
 #include <jni.h>
 #include "simgrid/msg.h"
 
+SG_BEGIN_DECL()
+
 void jvm_bind(JNIEnv *env, jobject jvm, msg_vm_t vm);
 msg_vm_t jvm_get_native(JNIEnv *env, jobject jvm);
 
@@ -155,4 +157,7 @@ Java_org_simgrid_msg_VM_restore(JNIEnv *env, jobject jvm);
 
 JNIEXPORT jobject JNICALL
 Java_org_simgrid_msg_VM_get_pm(JNIEnv *env, jobject jvm);
+
+SG_END_DECL()
+
 #endif
similarity index 51%
rename from src/bindings/java/jtrace.c
rename to src/bindings/java/jtrace.cpp
index 3f923e6..342d258 100644 (file)
@@ -6,7 +6,7 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-// Please note, this file strongly relies on the jmsg.c
+// Please note, this file strongly relies on the jmsg.cpp,
 // It will be great that a JNI expert gives a look to validate it - Adrien ;)
 
 #include "jtrace.h"
@@ -27,101 +27,101 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY (jtrace, bindings, "TRACE for Java(TM)");
 JNIEXPORT void JNICALL
 Java_org_simgrid_trace_Trace_hostStateDeclare(JNIEnv * env, jclass cls, jstring js)
 {
-  const char *s = (*env)->GetStringUTFChars(env, js, 0);
+  const char *s = env->GetStringUTFChars(js, 0);
   TRACE_host_state_declare(s);  
-  (*env)->ReleaseStringUTFChars(env, js, s);
+  env->ReleaseStringUTFChars(js, s);
 }
 
 JNIEXPORT void JNICALL
 Java_org_simgrid_trace_Trace_hostStateDeclareValue
   (JNIEnv *env, jclass cls, jstring js_state, jstring js_value, jstring js_color)
 {
-  const char *state = (*env)->GetStringUTFChars(env, js_state, 0);
-  const char *value = (*env)->GetStringUTFChars(env, js_value, 0);
-  const char *color = (*env)->GetStringUTFChars(env, js_color, 0);
+  const char *state = env->GetStringUTFChars(js_state, 0);
+  const char *value = env->GetStringUTFChars(js_value, 0);
+  const char *color = env->GetStringUTFChars(js_color, 0);
 
   TRACE_host_state_declare_value(state, value, color);  
   
-  (*env)->ReleaseStringUTFChars(env, js_state, state);
-  (*env)->ReleaseStringUTFChars(env, js_value, value);
-  (*env)->ReleaseStringUTFChars(env, js_color, color);
+  env->ReleaseStringUTFChars(js_state, state);
+  env->ReleaseStringUTFChars(js_value, value);
+  env->ReleaseStringUTFChars(js_color, color);
 }
 
 JNIEXPORT void JNICALL
 Java_org_simgrid_trace_Trace_hostSetState
   (JNIEnv *env, jclass cls, jstring js_host, jstring js_state, jstring js_value)
 {
-  const char *host = (*env)->GetStringUTFChars(env, js_host, 0);
-  const char *state = (*env)->GetStringUTFChars(env, js_state, 0);
-  const char *value = (*env)->GetStringUTFChars(env, js_value, 0);
+  const char *host = env->GetStringUTFChars(js_host, 0);
+  const char *state = env->GetStringUTFChars(js_state, 0);
+  const char *value = env->GetStringUTFChars(js_value, 0);
 
   TRACE_host_set_state(host, state, value);  
   
-  (*env)->ReleaseStringUTFChars(env, js_host, host);
-  (*env)->ReleaseStringUTFChars(env, js_state, state);
-  (*env)->ReleaseStringUTFChars(env, js_value, value);
+  env->ReleaseStringUTFChars(js_host, host);
+  env->ReleaseStringUTFChars(js_state, state);
+  env->ReleaseStringUTFChars(js_value, value);
 }
 
 JNIEXPORT void JNICALL
 Java_org_simgrid_trace_Trace_hostPushState
   (JNIEnv *env, jclass cls, jstring js_host, jstring js_state, jstring js_value)
 {
-  const char *host = (*env)->GetStringUTFChars(env, js_host, 0);
-  const char *state = (*env)->GetStringUTFChars(env, js_state, 0);
-  const char *value = (*env)->GetStringUTFChars(env, js_value, 0);
+  const char *host = env->GetStringUTFChars(js_host, 0);
+  const char *state = env->GetStringUTFChars(js_state, 0);
+  const char *value = env->GetStringUTFChars(js_value, 0);
 
   TRACE_host_push_state(host, state, value);  
   
-  (*env)->ReleaseStringUTFChars(env, js_host, host);
-  (*env)->ReleaseStringUTFChars(env, js_state, state);
-  (*env)->ReleaseStringUTFChars(env, js_value, value);
+  env->ReleaseStringUTFChars(js_host, host);
+  env->ReleaseStringUTFChars(js_state, state);
+  env->ReleaseStringUTFChars(js_value, value);
 }
 
 JNIEXPORT void JNICALL
 Java_org_simgrid_trace_Trace_hostPopState
   (JNIEnv *env, jclass cls, jstring js_host, jstring js_state)
 {
-  const char *host = (*env)->GetStringUTFChars(env, js_host, 0);
-  const char *state = (*env)->GetStringUTFChars(env, js_state, 0);
+  const char *host = env->GetStringUTFChars(js_host, 0);
+  const char *state = env->GetStringUTFChars(js_state, 0);
 
   TRACE_host_pop_state(host, state);  
   
-  (*env)->ReleaseStringUTFChars(env, js_host, host);
-  (*env)->ReleaseStringUTFChars(env, js_state, state);
+  env->ReleaseStringUTFChars(js_host, host);
+  env->ReleaseStringUTFChars(js_state, state);
 }
 
 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableDeclare
   (JNIEnv *env, jclass cls, jstring js_state)
 {
-  const char *state = (*env)->GetStringUTFChars(env, js_state, 0);
+  const char *state = env->GetStringUTFChars(js_state, 0);
 
   TRACE_host_variable_declare(state);
 
-  (*env)->ReleaseStringUTFChars(env, js_state, state);
+  env->ReleaseStringUTFChars(js_state, state);
 }
 
 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableSet
   (JNIEnv *env, jclass cls, jstring js_host, jstring js_state, jdouble value)
 {
-  const char *host = (*env)->GetStringUTFChars(env, js_host, 0);
-  const char *state = (*env)->GetStringUTFChars(env, js_state, 0);
+  const char *host = env->GetStringUTFChars(js_host, 0);
+  const char *state = env->GetStringUTFChars(js_state, 0);
 
   TRACE_host_variable_set(host, state, value);
 
-  (*env)->ReleaseStringUTFChars(env, js_host, host);
-  (*env)->ReleaseStringUTFChars(env, js_state, state);
+  env->ReleaseStringUTFChars(js_host, host);
+  env->ReleaseStringUTFChars(js_state, state);
 }
 
 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableSub
   (JNIEnv *env, jclass cls, jstring js_host, jstring js_state, jdouble value)
 {
-  const char *host = (*env)->GetStringUTFChars(env, js_host, 0);
-  const char *state = (*env)->GetStringUTFChars(env, js_state, 0);
+  const char *host = env->GetStringUTFChars(js_host, 0);
+  const char *state = env->GetStringUTFChars(js_state, 0);
 
   TRACE_host_variable_sub(host, state, value);
 
-  (*env)->ReleaseStringUTFChars(env, js_host, host);
-  (*env)->ReleaseStringUTFChars(env, js_state, state);
+  env->ReleaseStringUTFChars(js_host, host);
+  env->ReleaseStringUTFChars(js_state, state);
 }
 
 
@@ -129,33 +129,33 @@ JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableSub
 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_vmVariableDeclare
   (JNIEnv *env, jclass cls, jstring js_state)
 {
-  const char *state = (*env)->GetStringUTFChars(env, js_state, 0);
+  const char *state = env->GetStringUTFChars(js_state, 0);
 
   TRACE_vm_variable_declare(state);
 
-  (*env)->ReleaseStringUTFChars(env, js_state, state);
+  env->ReleaseStringUTFChars(js_state, state);
 }
 
 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_vmVariableSet
   (JNIEnv *env, jclass cls, jstring js_vm, jstring js_state, jdouble value)
 {
-  const char *vm = (*env)->GetStringUTFChars(env, js_vm, 0);
-  const char *state = (*env)->GetStringUTFChars(env, js_state, 0);
+  const char *vm = env->GetStringUTFChars(js_vm, 0);
+  const char *state = env->GetStringUTFChars(js_state, 0);
 
   TRACE_vm_variable_set(vm, state, value);
 
-  (*env)->ReleaseStringUTFChars(env, js_vm, vm);
-  (*env)->ReleaseStringUTFChars(env, js_state, state);
+  env->ReleaseStringUTFChars(js_vm, vm);
+  env->ReleaseStringUTFChars(js_state, state);
 }
 
 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableAdd
   (JNIEnv *env, jclass cls, jstring js_host, jstring js_state, jdouble value) {
 
-  const char *host = (*env)->GetStringUTFChars(env, js_host, 0);
-  const char *state = (*env)->GetStringUTFChars(env, js_state, 0);
+  const char *host = env->GetStringUTFChars(js_host, 0);
+  const char *state = env->GetStringUTFChars(js_state, 0);
 
   TRACE_host_variable_set(host, state, value);
 
-  (*env)->ReleaseStringUTFChars(env, js_host, host);
-  (*env)->ReleaseStringUTFChars(env, js_state, state);
+  env->ReleaseStringUTFChars(js_host, host);
+  env->ReleaseStringUTFChars(js_state, state);
 }
similarity index 81%
rename from src/bindings/java/jxbt_utilities.c
rename to src/bindings/java/jxbt_utilities.cpp
index afd9190..3aaf258 100644 (file)
@@ -18,7 +18,7 @@
 
 jclass jxbt_get_class(JNIEnv * env, const char *name)
 {
-  jclass cls = (*env)->FindClass(env, name);
+  jclass cls = env->FindClass(name);
 
   if (!cls) {
     char *m = bprintf("Class %s not found", name);
@@ -37,20 +37,20 @@ jmethodID jxbt_get_jmethod(JNIEnv * env, jclass cls,
 
   if (!cls)
     return 0;
-  id = (*env)->GetMethodID(env, cls, name, signature);
+  id = env->GetMethodID(cls, name, signature);
 
   if (!id) {
 
     jmethodID tostr_id =
-        (*env)->GetMethodID(env, cls, "getName", "()Ljava/lang/String;");
+        env->GetMethodID(cls, "getName", "()Ljava/lang/String;");
     jstring jclassname =
-        (jstring) (*env)->CallObjectMethod(env, cls, tostr_id, NULL);
-    const char *classname = (*env)->GetStringUTFChars(env, jclassname, 0);
+        (jstring) env->CallObjectMethod(cls, tostr_id, NULL);
+    const char *classname = env->GetStringUTFChars(jclassname, 0);
 
     char *m = bprintf("Cannot find method %s(%s) in %s", name, signature,
                       classname);
 
-    (*env)->ReleaseStringUTFChars(env, jclassname, classname);
+    env->ReleaseStringUTFChars(jclassname, classname);
 
     jxbt_throw_jni(env, m);
 
@@ -68,21 +68,21 @@ jmethodID jxbt_get_static_jmethod(JNIEnv * env, jclass cls,
 
   if (!cls)
     return 0;
-  id = (*env)->GetStaticMethodID(env, cls, name, signature);
+  id = env->GetStaticMethodID(cls, name, signature);
 
   if (!id) {
 
     jmethodID tostr_id =
-        (*env)->GetMethodID(env, cls, "getName", "()Ljava/lang/String;");
+        env->GetMethodID(cls, "getName", "()Ljava/lang/String;");
     jstring jclassname =
-        (jstring) (*env)->CallObjectMethod(env, cls, tostr_id, NULL);
-    const char *classname = (*env)->GetStringUTFChars(env, jclassname, 0);
+        (jstring) env->CallObjectMethod(cls, tostr_id, NULL);
+    const char *classname = env->GetStringUTFChars(jclassname, 0);
 
     char *m =
         bprintf("Cannot find static method %s(%s) in %s", name, signature,
                 classname);
 
-    (*env)->ReleaseStringUTFChars(env, jclassname, classname);
+    env->ReleaseStringUTFChars(jclassname, classname);
 
     jxbt_throw_jni(env, m);
 
@@ -104,7 +104,7 @@ jmethodID jxbt_get_static_smethod(JNIEnv * env, const char *classname,
   if (!cls)
     return 0;
 
-  id = (*env)->GetStaticMethodID(env, cls, name, signature);
+  id = env->GetStaticMethodID(cls, name, signature);
 
   if (!id) {
     char *m =
@@ -130,7 +130,7 @@ jmethodID jxbt_get_smethod(JNIEnv * env, const char *classname,
   if (!cls)
     return 0;
 
-  id = (*env)->GetMethodID(env, cls, name, signature);
+  id = env->GetMethodID(cls, name, signature);
 
   if (!id) {
     char *m = bprintf("Cannot find method %s(%s) in %s", name, signature,
@@ -152,18 +152,18 @@ jfieldID jxbt_get_jfield(JNIEnv * env, jclass cls,
   if (!cls)
     return 0;
 
-  id = (*env)->GetFieldID(env, cls, name, signature);
+  id = env->GetFieldID(cls, name, signature);
 
   if (!id) {
     jmethodID getname_id =
-        (*env)->GetMethodID(env, cls, "getName", "()Ljava/lang/String;");
+        env->GetMethodID(cls, "getName", "()Ljava/lang/String;");
     jstring jclassname =
-        (jstring) (*env)->CallObjectMethod(env, cls, getname_id, NULL);
-    const char *classname = (*env)->GetStringUTFChars(env, jclassname, 0);
+        (jstring) env->CallObjectMethod(cls, getname_id, NULL);
+    const char *classname = env->GetStringUTFChars(jclassname, 0);
     char *m = bprintf("Cannot find field %s %s in %s", signature, name,
                       classname);
 
-    (*env)->ReleaseStringUTFChars(env, jclassname, classname);
+    env->ReleaseStringUTFChars(jclassname, classname);
 
     jxbt_throw_jni(env, m);
 
@@ -183,7 +183,7 @@ jfieldID jxbt_get_sfield(JNIEnv * env, const char *classname,
   if (!cls)
     return 0;
 
-  id = (*env)->GetFieldID(env, cls, name, signature);
+  id = env->GetFieldID(cls, name, signature);
 
   if (!id) {
     char *m = bprintf("Cannot find field %s %s in %s", signature, name,
@@ -203,12 +203,12 @@ jfieldID jxbt_get_sfield(JNIEnv * env, const char *classname,
 /* ***************** */
 void jxbt_throw_by_name(JNIEnv * env, const char *name, char *msg)
 {
-  jclass cls = (*env)->FindClass(env, name);
+  jclass cls = env->FindClass(name);
 
   xbt_assert(cls, "%s (Plus severe error: class %s not found)\n", msg,
               name);
 
-  (*env)->ThrowNew(env, cls, msg);
+  env->ThrowNew(cls, msg);
 
   free(msg);
 }
index f2585f4..7cef3bc 100644 (file)
@@ -497,29 +497,29 @@ set(JSURF_JAVA_GENERATED_SRC
 set(JMSG_C_SRC
   src/bindings/java/jmsg.cpp
   src/bindings/java/jmsg.h
-  src/bindings/java/jmsg_as.c
+  src/bindings/java/jmsg_as.cpp
   src/bindings/java/jmsg_as.h
-  src/bindings/java/jmsg_comm.c
+  src/bindings/java/jmsg_comm.cpp
   src/bindings/java/jmsg_comm.h
-  src/bindings/java/jmsg_file.c
+  src/bindings/java/jmsg_file.cpp
   src/bindings/java/jmsg_file.h
-  src/bindings/java/jmsg_host.c
+  src/bindings/java/jmsg_host.cpp
   src/bindings/java/jmsg_host.h
   src/bindings/java/jmsg_process.cpp
   src/bindings/java/jmsg_process.h
-  src/bindings/java/jmsg_rngstream.c
+  src/bindings/java/jmsg_rngstream.cpp
   src/bindings/java/jmsg_rngstream.h
-  src/bindings/java/jmsg_synchro.c
+  src/bindings/java/jmsg_synchro.cpp
   src/bindings/java/jmsg_synchro.h
-  src/bindings/java/jmsg_task.c
+  src/bindings/java/jmsg_task.cpp
   src/bindings/java/jmsg_task.h
-  src/bindings/java/jmsg_vm.c
+  src/bindings/java/jmsg_vm.cpp
   src/bindings/java/jmsg_vm.h
-  src/bindings/java/jxbt_utilities.c
+  src/bindings/java/jxbt_utilities.cpp
   src/bindings/java/jxbt_utilities.h
   src/bindings/java/JavaContext.cpp
   src/bindings/java/JavaContext.hpp
-  src/bindings/java/jmsg_storage.c
+  src/bindings/java/jmsg_storage.cpp
   src/bindings/java/jmsg_storage.h
 )
 
@@ -558,7 +558,7 @@ set(JMSG_JAVA_SRC
 )
 
 set(JTRACE_C_SRC
-  src/bindings/java/jtrace.c
+  src/bindings/java/jtrace.cpp
   src/bindings/java/jtrace.h
 )