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"
18 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(jmsg);
21 jparallel_task_ref(JNIEnv* env, jobject jparallel_task) {
22 jobject newref = (*env)->NewGlobalRef(env,jparallel_task);
24 DEBUG1("jparallel_task_ref(%ld)",(long)newref);
30 jparallel_task_unref(JNIEnv* env, jobject jparallel_task) {
31 DEBUG1("jparallel_task_unref(%ld)",(long)jparallel_task);
32 (*env)->DeleteGlobalRef(env,jparallel_task);
36 jparallel_task_bind(jobject jparallel_task,m_task_t task,JNIEnv* env) {
37 jfieldID id = jxbt_get_sfield(env,"simgrid/msg/ParallelTask","bind", "J");
42 (*env)->SetLongField(env,jparallel_task,id,(jlong)(long)(task));
47 jparallel_task_to_native_parallel_task(jobject jparallel_task,JNIEnv* env) {
48 jfieldID id = jxbt_get_sfield(env,"simgrid/msg/ParallelTask","bind", "J");
53 return (m_task_t)(long)(*env)->GetLongField(env,jparallel_task,id);
57 jparallel_task_is_valid(jobject jparallel_task,JNIEnv* env) {
58 jfieldID id = jxbt_get_sfield(env,"simgrid/msg/ParallelTask","bind", "J");
63 return (*env)->GetLongField(env,jparallel_task,id) ? JNI_TRUE : JNI_FALSE;