Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add MSG_task_set_data_size function binding
[simgrid.git] / src / jmsg_vm.c
index 3e0eb2c..7e98a81 100644 (file)
@@ -28,17 +28,21 @@ Java_org_simgrid_msg_VM_nativeInit(JNIEnv *env, jclass cls) {
   }
 }
 JNIEXPORT void JNICALL
-Java_org_simgrid_msg_VM_start(JNIEnv *env, jobject jvm, jobject jhost, jint jcoreamount) {
-  m_host_t host = jhost_get_native(env, jhost);
+Java_org_simgrid_msg_VM_start(JNIEnv *env, jobject jvm, jobject jhost, jstring jname, jint jcoreamount) {
+  msg_host_t host = jhost_get_native(env, jhost);
 
-  msg_vm_t vm = MSG_vm_start(host, (int)jcoreamount);
+  const char *name;
+  name = (*env)->GetStringUTFChars(env, jname, 0);
+  name = xbt_strdup(name);
+  
+  msg_vm_t vm = MSG_vm_start(host, name, (int)jcoreamount);
 
   jvm_bind(env,jvm,vm);
 }
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_VM_destroy(JNIEnv *env, jobject jvm) {
-  /*msg_vm_t vm = jvm_get_native(env,jvm);
-  MSG_vm_destroy(vm);*/
+  msg_vm_t vm = jvm_get_native(env,jvm);
+  MSG_vm_destroy(vm);
 }
 JNIEXPORT jboolean JNICALL
 Java_org_simgrid_msg_VM_isSuspended(JNIEnv *env, jobject jvm) {
@@ -55,7 +59,7 @@ Java_org_simgrid_msg_VM_isRunning(JNIEnv *env, jobject jvm) {
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_VM_bind(JNIEnv *env, jobject jvm, jobject jprocess) {
   msg_vm_t vm = jvm_get_native(env,jvm);
-  m_process_t process = jprocess_to_native_process(jprocess,env);
+  msg_process_t process = jprocess_to_native_process(jprocess,env);
 
   xbt_assert((vm != NULL), "VM object is not binded");
   xbt_assert((process != NULL), "Process object is not binded.");
@@ -65,14 +69,14 @@ Java_org_simgrid_msg_VM_bind(JNIEnv *env, jobject jvm, jobject jprocess) {
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_VM_unbind(JNIEnv *env, jobject jvm, jobject jprocess) {
   msg_vm_t vm = jvm_get_native(env,jvm);
-  m_process_t process = jprocess_to_native_process(jprocess,env);
+  msg_process_t process = jprocess_to_native_process(jprocess,env);
 
   MSG_vm_unbind(vm,process);
 }
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_VM_migrate(JNIEnv *env, jobject jvm, jobject jhost) {
   msg_vm_t vm = jvm_get_native(env,jvm);
-  m_host_t host = jhost_get_native(env, jhost);
+  msg_host_t host = jhost_get_native(env, jhost);
 
   MSG_vm_migrate(vm,host);
 }
@@ -109,3 +113,14 @@ Java_org_simgrid_msg_VM_shutdown(JNIEnv *env, jobject jvm) {
     xbt_ex_free(e);
   }
 }
+JNIEXPORT void JNICALL
+Java_org_simgrid_msg_VM_reboot(JNIEnv *env, jobject jvm) {
+  msg_vm_t vm = jvm_get_native(env,jvm);
+  xbt_ex_t e;
+  TRY {
+    MSG_vm_reboot(vm);
+  }
+  CATCH(e) {
+    xbt_ex_free(e);
+  }
+}