Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'coverity_scan' of github.com:mquinson/simgrid
[simgrid.git] / src / bindings / java / jmsg_task.h
1 /* Functions related to the java task instances.                            */
2
3 /* Copyright (c) 2007-2015. The SimGrid Team.
4  * All rights reserved.                                                     */
5
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. */
8
9 #ifndef MSG_JTASK_H
10 #define MSG_JTASK_H
11
12 #include <jni.h>
13 #include "simgrid/msg.h"
14
15 SG_BEGIN_DECL()
16
17 /**
18  * This function associated a native task to a java task instance.
19  *
20  * @param jtask      The java task instance.
21  * @param task      The native task to bind.
22  * @param env      The environment of the current thread.
23  *
24  * @exception      If the class Task is not found the function throws 
25  *            the ClassNotFoundException. If the field bind of 
26  *            this class is not found the function throws the exception 
27  *            NotSuchFieldException.  
28  */
29 void jtask_bind(jobject jtask, msg_task_t task, JNIEnv * env);
30
31 /**
32  * This function returns a native task from a java task instance.
33  *
34  * @param jtask      The java task object from which get the native task.
35  * @param env      The environment of the current thread.
36  *
37  * @return        The function returns the native task associated to the
38  *            java task object.
39  *
40  * @exception      If the class Task is not found the function throws 
41  *            the ClassNotFoundException. If the field bind of 
42  *            this class is not found the function throws the exception 
43  *            NotSuchFieldException.  
44  */
45 msg_task_t jtask_to_native_task(jobject jtask, JNIEnv * env);
46
47 /**
48  * This function tests if a java task instance is valid.
49  * A java task object is valid if it is bind to a native 
50  * task.
51  *
52  * @param jtask      The java task to test the validity.
53  * @param env      The environment of the current thread.
54  *
55  * @return        If the java task is valid the function returns true.
56  *            Otherwise the function returns false.
57  */
58 jboolean jtask_is_valid(jobject jtask, JNIEnv * env);
59
60 /*
61  * Class    org_simgrid_msg_Task
62  * Method    nativeInit
63  * Signature  ();
64  */
65 JNIEXPORT void JNICALL
66 Java_org_simgrid_msg_Task_nativeInit(JNIEnv *env, jclass cls);
67
68 /*
69  * Class    org_simgrid_msg_Task
70  * Method    create
71  */
72 JNIEXPORT void JNICALL
73 Java_org_simgrid_msg_Task_create
74     (JNIEnv * env, jobject jtask, jstring jname, jdouble jcomputeDuration, jdouble jmessageSize);
75 JNIEXPORT void JNICALL
76 Java_org_simgrid_msg_Task_nativeFinalize(JNIEnv * env, jobject jtask);
77 /*
78  * Class    org_simgrid_msg_Task
79  * Method    parallelCreate
80  */
81 JNIEXPORT void JNICALL
82 Java_org_simgrid_msg_Task_parallelCreate
83     (JNIEnv *, jobject,
84      jstring, jobjectArray,
85      jdoubleArray,
86      jdoubleArray);
87 /*
88  * Class    org_simgrid_msg_Task
89  * Method    destroy
90  * Signature  (Lsimgrid/msg/Task;)V
91  */
92 /* JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_destroy */
93 /*     (JNIEnv *, jobject); */
94
95 /*
96  * Class    org_simgrid_msg_Task
97  * Method    cancel
98  * Signature  ()V
99  */
100 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_cancel
101     (JNIEnv *, jobject);
102
103 /*
104  * Class    org_simgrid_msg_Task
105  * Method    execute
106  * Signature  ()V
107  */
108 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_execute
109     (JNIEnv *, jobject);
110
111 /*
112  * Class    org_simgrid_msg_Task
113  * Method    setBound
114  * Signature  ()V
115  */
116 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setBound
117     (JNIEnv *, jobject, jdouble);
118
119 /*
120  * Class    org_simgrid_msg_Task
121  * Method    getName
122  * Signature  ()Ljava/lang/String;
123  */
124 JNIEXPORT jstring JNICALL Java_org_simgrid_msg_Task_getName
125     (JNIEnv *, jobject);
126
127 /*
128  * Class    org_simgrid_msg_Task
129  * Method    getSender
130  * Signature  ()Lsimgrid/msg/Process;
131  */
132 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_getSender
133     (JNIEnv *, jobject);
134 /*
135  * Class    org_simgrid_msg_Task
136  * Method    getSource
137  * Signature  ()Lsimgrid/msg/Host;
138  */
139 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_getSource
140     (JNIEnv *, jobject);
141 /*
142  * Class    org_simgrid_msg_Task
143  * Method    getFlopsAmount
144  * Signature  ()D
145  */
146 JNIEXPORT jdouble JNICALL Java_org_simgrid_msg_Task_getFlopsAmount
147     (JNIEnv *, jobject);
148
149 /**
150  * Class    org_simgrid_msg_Task
151  * Method    setName
152  * Signature  (Ljava/lang/string;)V
153  */
154 JNIEXPORT void JNICALL
155 Java_org_simgrid_msg_Task_setName(JNIEnv *env, jobject jtask, jobject jname);
156 /*
157  * Class    org_simgrid_msg_Task
158  * Method    setPriority
159  * Signature  (D)V
160  */
161 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setPriority
162     (JNIEnv *, jobject, jdouble);
163 /**
164  * Class    org_simgrid_msg_Task
165  * Method    setComputeDuration
166  * Signature  (D)V
167  */
168 JNIEXPORT void JNICALL
169 Java_org_simgrid_msg_Task_setFlopsAmount
170     (JNIEnv *env, jobject jtask, jdouble computationAmount);
171     
172     /**
173  * Class    org_simgrid_msg_Task
174  * Method    setDataSize
175  * Signature  (D)V
176  */
177 JNIEXPORT void JNICALL
178 Java_org_simgrid_msg_Task_setBytesAmount
179     (JNIEnv *env, jobject jtask, jdouble dataSize);
180     
181 /**
182  * Class    org_simgrid_msg_Task
183  * Method    send
184  */
185 JNIEXPORT void JNICALL
186     Java_org_simgrid_msg_Task_send
187     (JNIEnv *, jobject, jstring, jdouble);
188
189 /**
190  * Class    org_simgrid_msg_Task
191  * Method    sendBounded
192  */
193 JNIEXPORT void JNICALL
194     Java_org_simgrid_msg_Task_sendBounded
195     (JNIEnv *, jobject, jstring, jdouble, jdouble);
196
197
198 /**
199  * Class    org_simgrid_msg_Task
200  * Method    receive
201  */
202 JNIEXPORT jobject JNICALL
203     Java_org_simgrid_msg_Task_receive
204     (JNIEnv *, jclass, jstring, jdouble, jobject);
205
206 /**
207  * Class     org_simgrid_msg_Task
208  * Method    irecv
209  * Signature  (Ljava/lang/String;)Lorg/simgrid/msg/Comm;
210  */
211 JNIEXPORT jobject JNICALL
212 Java_org_simgrid_msg_Task_irecv(JNIEnv * env, jclass cls, jstring jmailbox);
213 /**
214  * Class     org_simgrid_msg_Task
215  * Method    receiveBounded
216  */
217 JNIEXPORT jobject JNICALL
218 Java_org_simgrid_msg_Task_receiveBounded(JNIEnv * env, jclass cls,
219                                          jstring jalias, jdouble jtimeout,
220                                          jobject jhost, jdouble rate);
221 /**
222  * Class     org_simgrid_msg_Task
223  * Method    irecvBounded
224  */
225 JNIEXPORT jobject JNICALL
226 Java_org_simgrid_msg_Task_irecvBounded(JNIEnv * env, jclass cls,
227                                        jstring jmailbox, jdouble rate);
228 /**
229  * Class     org_simgrid_msg_Task
230  * Method    isend
231  * Signature  (Lorg/simgrid/msg/Task;Ljava/lang/String;)Lorg/simgrid/msg/Comm;
232  */
233 JNIEXPORT jobject JNICALL
234 Java_org_simgrid_msg_Task_isend(JNIEnv *env, jobject jtask, jstring jmailbox);
235 /**
236  * Class     org_simgrid_msg_Task
237  * Method    isendBounded
238  */
239 JNIEXPORT jobject JNICALL
240 Java_org_simgrid_msg_Task_isendBounded(JNIEnv *env, jobject jtask, jstring jmailbox, jdouble maxrate);
241
242 /**
243  * Class     org_simgrid_msg_Task
244  * Method    dsend
245  */
246 JNIEXPORT void JNICALL
247 Java_org_simgrid_msg_Task_dsend(JNIEnv * env, jobject jtask,
248                                 jstring jalias);
249
250 /**
251  * Class     org_simgrid_msg_Task
252  * Method    dsendBounded
253  */
254 JNIEXPORT void JNICALL
255 Java_org_simgrid_msg_Task_dsendBounded(JNIEnv * env, jobject jtask,
256                                 jstring jalias, jdouble maxrate);
257
258 /**
259  * Class     org_simgrid_msg_Task
260  * Method    listen
261  */
262 JNIEXPORT jboolean JNICALL
263 Java_org_simgrid_msg_Task_listen(JNIEnv *, jclass, jstring);
264 /**
265  * Class     org_simgrid_msg_Task
266  * Method    listenFromHost
267  */
268 JNIEXPORT jint JNICALL
269 Java_org_simgrid_msg_Task_listenFromHost(JNIEnv *, jclass, jstring,
270                                               jobject);
271 /**
272  * Class     org_simgrid_msg_Task
273  * Method    listenFrom
274  */
275 JNIEXPORT jint JNICALL
276 Java_org_simgrid_msg_Task_listenFrom(JNIEnv *, jclass, jstring);
277
278 SG_END_DECL()
279
280 #endif                          /* !MSG_JTASK_H */