#include "jmsg_host.h"
#include "jxbt_utilities.h"
#include "smx_context_java.h"
+#include "smx_context_cojava.h"
XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(jmsg);
+JNIEXPORT void JNICALL
+Java_org_simgrid_msg_Process_exit(JNIEnv *env, jobject jprocess) {
+ if (smx_factory_initializer_to_use == SIMIX_ctx_cojava_factory_init) {
+ m_process_t process = jprocess_to_native_process(jprocess, env);
+ smx_context_t context = MSG_process_get_smx_ctx(process);
+ smx_ctx_cojava_stop(context);
+ }
+}
+
jobject native_to_java_process(m_process_t process)
{
return ((smx_ctx_java_t)MSG_process_get_smx_ctx(process))->jprocess;
/* change the host java side */
(*env)->SetObjectField(env, jprocess, jprocess_field_Process_host, jhost);
}
-
-
-
+ JNIEXPORT void JNICALL
+ Java_org_simgrid_msg_Process_setKillTime (JNIEnv *env , jobject jprocess, jdouble jkilltime) {
+ m_process_t process = jprocess_to_native_process(jprocess, env);
+ MSG_process_set_kill_time(process, (double)jkilltime);
+ }
jfieldID jprocess_field_Process_pid;
jfieldID jprocess_field_Process_ppid;
+JNIEXPORT void JNICALL
+Java_org_simgrid_msg_Process_exit(JNIEnv *env, jobject);
+
jobject native_to_java_process(m_process_t process);
/*
* Class org_simgrid_msg_Process
* Method create
- * Signature (Lsimgrid/msg/Host;)V
+ * Signature (Lorg/simgrid/msg/Host;)V
*/
JNIEXPORT void JNICALL
Java_org_simgrid_msg_Process_create(JNIEnv * env,
/*
* Class org_simgrid_msg_Process
* Method fromPID
- * Signature (I)Lsimgrid/msg/Process;
+ * Signature (I)Lorg/simgrid/msg/Process;
*/
JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Process_fromPID
(JNIEnv *, jclass, jint);
/*
* Class org_simgrid_msg_Process
* Method currentProcess
- * Signature ()Lsimgrid/msg/Process;
+ * Signature ()Lorg/simgrid/msg/Process;
*/
JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Process_currentProcess
(JNIEnv *, jclass);
/*
* Class org_simgrid_msg_Process
* Method pause
- * Signature (Lsimgrid/msg/Process;)V
+ * Signature (Lorg/simgrid/msg/Process;)V
*/
JNIEXPORT void JNICALL
Java_org_simgrid_msg_Process_pause(JNIEnv * env,
/*
* Class org_simgrid_msg_Process
* Method restart
- * Signature (Lsimgrid/msg/Process;)V
+ * Signature (Lorg/simgrid/msg/Process;)V
*/
JNIEXPORT void JNICALL Java_org_simgrid_msg_Process_restart
(JNIEnv *, jobject);
/*
* Class org_simgrid_msg_Process
* Method isSuspended
- * Signature (Lsimgrid/msg/Process;)Z
+ * Signature (Lorg/simgrid/msg/Process;)Z
*/
JNIEXPORT jboolean JNICALL Java_org_simgrid_msg_Process_isSuspended
(JNIEnv *, jobject);
/*
* Class org_simgrid_msg_Process
* Method kill
- * Signature (Lsimgrid/msg/Process;)V
+ * Signature (Lorg/simgrid/msg/Process;)V
*/
JNIEXPORT void JNICALL Java_org_simgrid_msg_Process_kill
(JNIEnv *, jobject);
/*
* Class org_simgrid_msg_Process
* Method migrate
- * Signature (Lsimgrid/msg/Host;)V
+ * Signature (Lorg/simgrid/msg/Host;)V
*/
JNIEXPORT void JNICALL Java_org_simgrid_msg_Process_migrate
(JNIEnv *, jobject, jobject);
+ /*
+ * Class org_simgrid_msg_Process
+ * Method setKillTime
+ * Signature (D)V
+ */
+ JNIEXPORT void JNICALL Java_org_simgrid_msg_Process_setKillTime
+ (JNIEnv *, jobject, jdouble);
#endif /* !MSG_JPROCESS_H */