1 /* Functions related to the java task instances. */
3 /* Copyright (c) 2007-2015. 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. */
13 #include "simgrid/msg.h"
18 * This function associated a native task to a java task instance.
20 * @param jtask The java task instance.
21 * @param task The native task to bind.
22 * @param env The environment of the current thread.
24 * @exception If the class Task is not found the function throws the ClassNotFoundException. If the field bind of
25 * this class is not found the function throws the exception NotSuchFieldException.
27 void jtask_bind(jobject jtask, msg_task_t task, JNIEnv * env);
30 * This function returns a native task from a java task instance.
32 * @param jtask The java task object from which get the native task.
33 * @param env The environment of the current thread.
35 * @return The function returns the native task associated to the java task object.
37 * @exception If the class Task is not found the function throws the ClassNotFoundException. If the field bind of
38 * this class is not found the function throws the exception NotSuchFieldException.
40 msg_task_t jtask_to_native_task(jobject jtask, JNIEnv * env);
43 * This function tests if a java task instance is valid.
44 * A java task object is valid if it is bind to a native task.
46 * @param jtask The java task to test the validity.
47 * @param env The environment of the current thread.
49 * @return If the java task is valid the function returns true. Otherwise the function returns false.
51 jboolean jtask_is_valid(jobject jtask, JNIEnv * env);
54 * Class org_simgrid_msg_Task
58 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_nativeInit(JNIEnv *env, jclass cls);
61 * Class org_simgrid_msg_Task
64 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_create (JNIEnv * env, jobject jtask, jstring jname,
65 jdouble jcomputeDuration, jdouble jmessageSize);
66 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_nativeFinalize(JNIEnv * env, jobject jtask);
69 * Class org_simgrid_msg_Task
70 * Method parallelCreate
72 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_parallelCreate (JNIEnv *, jobject, jstring, jobjectArray,
73 jdoubleArray, jdoubleArray);
76 * Class org_simgrid_msg_Task
78 * Signature (Lsimgrid/msg/Task;)V
80 /* JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_destroy (JNIEnv *, jobject); */
83 * Class org_simgrid_msg_Task
87 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_cancel (JNIEnv *, jobject);
90 * Class org_simgrid_msg_Task
94 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_execute (JNIEnv *, jobject);
97 * Class org_simgrid_msg_Task
101 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setBound (JNIEnv *, jobject, jdouble);
104 * Class org_simgrid_msg_Task
106 * Signature ()Ljava/lang/String;
108 JNIEXPORT jstring JNICALL Java_org_simgrid_msg_Task_getName (JNIEnv *, jobject);
111 * Class org_simgrid_msg_Task
113 * Signature ()Lsimgrid/msg/Process;
115 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_getSender (JNIEnv *, jobject);
118 * Class org_simgrid_msg_Task
120 * Signature ()Lsimgrid/msg/Host;
122 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_getSource (JNIEnv *, jobject);
125 * Class org_simgrid_msg_Task
126 * Method getFlopsAmount
129 JNIEXPORT jdouble JNICALL Java_org_simgrid_msg_Task_getFlopsAmount (JNIEnv *, jobject);
132 * Class org_simgrid_msg_Task
134 * Signature (Ljava/lang/string;)V
136 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setName(JNIEnv *env, jobject jtask, jobject jname);
139 * Class org_simgrid_msg_Task
143 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setPriority (JNIEnv *, jobject, jdouble);
146 * Class org_simgrid_msg_Task
147 * Method setComputeDuration
150 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setFlopsAmount (JNIEnv *env, jobject jtask, jdouble computationAmount);
153 * Class org_simgrid_msg_Task
157 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setBytesAmount (JNIEnv *env, jobject jtask, jdouble dataSize);
160 * Class org_simgrid_msg_Task
163 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_send (JNIEnv *, jobject, jstring, jdouble);
166 * Class org_simgrid_msg_Task
169 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_sendBounded (JNIEnv *, jobject, jstring, jdouble, jdouble);
172 * Class org_simgrid_msg_Task
175 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_receive (JNIEnv *, jclass, jstring, jdouble, jobject);
178 * Class org_simgrid_msg_Task
180 * Signature (Ljava/lang/String;)Lorg/simgrid/msg/Comm;
182 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_irecv(JNIEnv * env, jclass cls, jstring jmailbox);
185 * Class org_simgrid_msg_Task
186 * Method receiveBounded
188 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_receiveBounded(JNIEnv * env, jclass cls, jstring jalias,
189 jdouble jtimeout, jobject jhost, jdouble rate);
192 * Class org_simgrid_msg_Task
193 * Method irecvBounded
195 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_irecvBounded(JNIEnv * env, jclass cls, jstring jmailbox,
199 * Class org_simgrid_msg_Task
201 * Signature (Lorg/simgrid/msg/Task;Ljava/lang/String;)Lorg/simgrid/msg/Comm;
203 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_isend(JNIEnv *env, jobject jtask, jstring jmailbox);
206 * Class org_simgrid_msg_Task
207 * Method isendBounded
209 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_isendBounded(JNIEnv *env, jobject jtask, jstring jmailbox,
213 * Class org_simgrid_msg_Task
216 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_dsend(JNIEnv * env, jobject jtask, jstring jalias);
219 * Class org_simgrid_msg_Task
220 * Method dsendBounded
222 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_dsendBounded(JNIEnv * env, jobject jtask, jstring jalias,
226 * Class org_simgrid_msg_Task
229 JNIEXPORT jboolean JNICALL Java_org_simgrid_msg_Task_listen(JNIEnv *, jclass, jstring);
232 * Class org_simgrid_msg_Task
233 * Method listenFromHost
235 JNIEXPORT jint JNICALL Java_org_simgrid_msg_Task_listenFromHost(JNIEnv *, jclass, jstring, jobject);
238 * Class org_simgrid_msg_Task
241 JNIEXPORT jint JNICALL Java_org_simgrid_msg_Task_listenFrom(JNIEnv *, jclass, jstring);
244 #endif /* !MSG_JTASK_H */