1 /* Functions related to the java task instances. */
3 /* Copyright (c) 2007-2014. The SimGrid Team.
4 * All rights 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. */
16 * This function returns a global reference to the java task instance
17 * specified by the parameter jtask.
19 * @param jtask The original java task instance.
20 * @param env The environment of the current thread.
22 * @return The global reference to the original java task
25 /* jobject jtask_new_global_ref(jobject jtask, JNIEnv * env); */
28 * This function delete a global reference to a java task instance.
30 * @param The global refernce to delete.
31 * @param env The environment of the current thread.
33 /* void jtask_delete_global_ref(jobject jtask, JNIEnv * env); */
36 * This function associated a native task to a java task instance.
38 * @param jtask The java task instance.
39 * @param task The native task to bind.
40 * @param env The environment of the current thread.
42 * @exception If the class Task is not found the function throws
43 * the ClassNotFoundException. If the field bind of
44 * this class is not found the function throws the exception
45 * NotSuchFieldException.
47 void jtask_bind(jobject jtask, msg_task_t task, JNIEnv * env);
50 * This function returns a native task from a java task instance.
52 * @param jtask The java task object from which get the native task.
53 * @param env The environment of the current thread.
55 * @return The function returns the native task associated to the
58 * @exception If the class Task is not found the function throws
59 * the ClassNotFoundException. If the field bind of
60 * this class is not found the function throws the exception
61 * NotSuchFieldException.
63 msg_task_t jtask_to_native_task(jobject jtask, JNIEnv * env);
66 * This function tests if a java task instance is valid.
67 * A java task object is valid if it is bind to a native
70 * @param jtask The java task to test the validity.
71 * @param env The environment of the current thread.
73 * @return If the java task is valid the function returns true.
74 * Otherwise the function returns false.
76 jboolean jtask_is_valid(jobject jtask, JNIEnv * env);
79 * Class org_simgrid_msg_Task
83 JNIEXPORT void JNICALL
84 Java_org_simgrid_msg_Task_nativeInit(JNIEnv *env, jclass cls);
87 * Class org_simgrid_msg_Task
90 JNIEXPORT void JNICALL
91 Java_org_simgrid_msg_Task_create
92 (JNIEnv * env, jobject jtask, jstring jname, jdouble jcomputeDuration, jdouble jmessageSize);
94 * Class org_simgrid_msg_Task
95 * Method parallelCreate
97 JNIEXPORT void JNICALL
98 Java_org_simgrid_msg_Task_parallelCreate
100 jstring, jobjectArray,
104 * Class org_simgrid_msg_Task
106 * Signature (Lsimgrid/msg/Task;)V
108 /* JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_destroy */
109 /* (JNIEnv *, jobject); */
112 * Class org_simgrid_msg_Task
116 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_cancel
120 * Class org_simgrid_msg_Task
124 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_execute
128 * Class org_simgrid_msg_Task
132 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setBound
133 (JNIEnv *, jobject, jdouble);
136 * Class org_simgrid_msg_Task
138 * Signature ()Ljava/lang/String;
140 JNIEXPORT jstring JNICALL Java_org_simgrid_msg_Task_getName
144 * Class org_simgrid_msg_Task
146 * Signature ()Lsimgrid/msg/Process;
148 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_getSender
151 * Class org_simgrid_msg_Task
153 * Signature ()Lsimgrid/msg/Host;
155 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_getSource
158 * Class org_simgrid_msg_Task
159 * Method getComputeDuration
162 JNIEXPORT jdouble JNICALL Java_org_simgrid_msg_Task_getComputeDuration
166 * Class org_simgrid_msg_Task
167 * Method getRemainingDuration
170 JNIEXPORT jdouble JNICALL
171 Java_org_simgrid_msg_Task_getRemainingDuration(JNIEnv *, jobject);
173 * Class org_simgrid_msg_Task
175 * Signature (Ljava/lang/string;)V
177 JNIEXPORT void JNICALL
178 Java_org_simgrid_msg_Task_setName(JNIEnv *env, jobject jtask, jobject jname);
180 * Class org_simgrid_msg_Task
184 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setPriority
185 (JNIEnv *, jobject, jdouble);
187 * Class org_simgrid_msg_Task
188 * Method setComputeDuration
191 JNIEXPORT void JNICALL
192 Java_org_simgrid_msg_Task_setComputeDuration
193 (JNIEnv *env, jobject jtask, jdouble computationAmount);
196 * Class org_simgrid_msg_Task
200 JNIEXPORT void JNICALL
201 Java_org_simgrid_msg_Task_setDataSize
202 (JNIEnv *env, jobject jtask, jdouble dataSize);
205 * Class org_simgrid_msg_Task
208 JNIEXPORT void JNICALL
209 Java_org_simgrid_msg_Task_send
210 (JNIEnv *, jobject, jstring, jdouble);
213 * Class org_simgrid_msg_Task
216 JNIEXPORT void JNICALL
217 Java_org_simgrid_msg_Task_sendBounded
218 (JNIEnv *, jobject, jstring, jdouble, jdouble);
222 * Class org_simgrid_msg_Task
225 JNIEXPORT jobject JNICALL
226 Java_org_simgrid_msg_Task_receive
227 (JNIEnv *, jclass, jstring, jdouble, jobject);
230 * Class org_simgrid_msg_Task
232 * Signature (Ljava/lang/String;)Lorg/simgrid/msg/Comm;
234 JNIEXPORT jobject JNICALL
235 Java_org_simgrid_msg_Task_irecv(JNIEnv * env, jclass cls, jstring jmailbox);
237 * Class org_simgrid_msg_Task
238 * Method receiveBounded
240 JNIEXPORT jobject JNICALL
241 Java_org_simgrid_msg_Task_receiveBounded(JNIEnv * env, jclass cls,
242 jstring jalias, jdouble jtimeout,
243 jobject jhost, jdouble rate);
245 * Class org_simgrid_msg_Task
246 * Method irecvBounded
248 JNIEXPORT jobject JNICALL
249 Java_org_simgrid_msg_Task_irecvBounded(JNIEnv * env, jclass cls,
250 jstring jmailbox, jdouble rate);
252 * Class org_simgrid_msg_Task
254 * Signature (Lorg/simgrid/msg/Task;Ljava/lang/String;)Lorg/simgrid/msg/Comm;
256 JNIEXPORT jobject JNICALL
257 Java_org_simgrid_msg_Task_isend(JNIEnv *env, jobject jtask, jstring jmailbox);
259 * Class org_simgrid_msg_Task
260 * Method isendBounded
262 JNIEXPORT jobject JNICALL
263 Java_org_simgrid_msg_Task_isendBounded(JNIEnv *env, jobject jtask, jstring jmailbox, jdouble maxrate);
266 * Class org_simgrid_msg_Task
269 JNIEXPORT void JNICALL
270 Java_org_simgrid_msg_Task_dsend(JNIEnv * env, jobject jtask,
274 * Class org_simgrid_msg_Task
275 * Method dsendBounded
277 JNIEXPORT void JNICALL
278 Java_org_simgrid_msg_Task_dsendBounded(JNIEnv * env, jobject jtask,
279 jstring jalias, jdouble maxrate);
282 * Class org_simgrid_msg_Task
285 JNIEXPORT jboolean JNICALL
286 Java_org_simgrid_msg_Task_listen(JNIEnv *, jclass, jstring);
288 * Class org_simgrid_msg_Task
289 * Method listenFromHost
291 JNIEXPORT jint JNICALL
292 Java_org_simgrid_msg_Task_listenFromHost(JNIEnv *, jclass, jstring,
295 * Class org_simgrid_msg_Task
298 JNIEXPORT jint JNICALL
299 Java_org_simgrid_msg_Task_listenFrom(JNIEnv *, jclass, jstring);
303 #endif /* !MSG_JTASK_H */