4 * Copyright 2006,2007 Martin Quinson, Malek Cherier All right 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 * This contains the implementation of the functions in relation with the java
15 #include "jmsg_parallel_task.h"
16 #include "jxbt_utilities.h"
19 jparallel_task_ref(JNIEnv* env, jobject jparallel_task) {
20 jobject newref = (*env)->NewGlobalRef(env,jparallel_task);
22 DEBUG1("jparallel_task_ref(%ld)",(long)newref);
28 jparallel_task_unref(JNIEnv* env, jobject jparallel_task) {
29 DEBUG1("jparallel_task_unref(%ld)",(long)jparallel_task);
30 (*env)->DeleteGlobalRef(env,jparallel_task);
34 jparallel_task_bind(jobject jparallel_task,m_task_t task,JNIEnv* env) {
35 jfieldID id = jxbt_get_sfield(env,"simgrid/msg/ParallelTask","bind", "J");
40 (*env)->SetLongField(env,jparallel_task,id,(jlong)(long)(task));
45 jparallel_task_to_native_parallel_task(jobject jparallel_task,JNIEnv* env) {
46 jfieldID id = jxbt_get_sfield(env,"simgrid/msg/ParallelTask","bind", "J");
51 return (m_task_t)(long)(*env)->GetLongField(env,jparallel_task,id);
55 jparallel_task_is_valid(jobject jparallel_task,JNIEnv* env) {
56 jfieldID id = jxbt_get_sfield(env,"simgrid/msg/ParallelTask","bind", "J");
61 return (*env)->GetLongField(env,jparallel_task,id) ? JNI_TRUE : JNI_FALSE;