Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add new line at the end of the file, to avoid a gcc warning (turned into error by...
[simgrid.git] / src / java / jmsg.h
1 /*
2  * $Id$
3  *
4  * Copyright 2006,2007 Martin Quinson, Malek Cherier All right 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  * This contains the declarations of the wrapper functions used to interface
10  * the java object with the native functions of the MSG API.
11  */
12
13 #ifndef MSG4JAVA_H
14 #define MSG4JAVA_H
15
16 #include <jni.h>
17
18 JavaVM *
19 get_java_VM(void);
20
21 JNIEnv *
22 get_current_thread_env(void);
23
24 /*
25  * Class                simgrid_msg_Msg
26  * Method               processCreate
27  * Signature    (Lsimgrid/msg/Process;Lsimgrid/msg/Host;)V
28  */
29 JNIEXPORT void JNICALL 
30 Java_simgrid_msg_MsgNative_processCreate(JNIEnv* env,jclass cls,jobject jprocess,jobject jhost);
31
32
33
34 /*
35  * Class                simgrid_msg_Msg
36  * Method               processSuspend
37  * Signature    (Lsimgrid/msg/Process;)V
38  */
39 JNIEXPORT void JNICALL 
40 Java_simgrid_msg_MsgNative_processSuspend(JNIEnv* env, jclass cls, jobject jprocess);
41
42 /*
43  * Class                simgrid_msg_Msg
44  * Method               processResume
45  * Signature    (Lsimgrid/msg/Process;)V
46  */
47 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_processResume
48   (JNIEnv *, jclass, jobject);
49
50 /*
51  * Class                simgrid_msg_Msg
52  * Method               processIsSuspended
53  * Signature    (Lsimgrid/msg/Process;)Z
54  */
55 JNIEXPORT jboolean JNICALL Java_simgrid_msg_MsgNative_processIsSuspended
56   (JNIEnv *, jclass, jobject);
57
58 /*
59  * Class                simgrid_msg_Msg
60  * Method               processKill
61  * Signature    (Lsimgrid/msg/Process;)V
62  */
63 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_processKill
64   (JNIEnv *, jclass, jobject);
65
66 /*
67  * Class                simgrid_msg_Msg
68  * Method               processGetHost
69  * Signature    (Lsimgrid/msg/Process;)Lsimgrid/msg/Host;
70  */
71 JNIEXPORT jobject JNICALL Java_simgrid_msg_MsgNative_processGetHost
72   (JNIEnv *, jclass, jobject);
73
74 /*
75  * Class                simgrid_msg_Msg
76  * Method               processFromPID
77  * Signature    (I)Lsimgrid/msg/Process;
78  */
79 JNIEXPORT jobject JNICALL Java_simgrid_msg_MsgNative_processFromPID
80   (JNIEnv *, jclass, jint);
81
82 /*
83  * Class                simgrid_msg_Msg
84  * Method               processGetPID
85  * Signature    (Lsimgrid/msg/Process;)I
86  */
87 JNIEXPORT jint JNICALL Java_simgrid_msg_MsgNative_processGetPID
88   (JNIEnv *, jclass, jobject);
89
90 /*
91  * Class                simgrid_msg_Msg
92  * Method               processGetPPID
93  * Signature    (Lsimgrid/msg/Process;)I
94  */
95 JNIEXPORT jint JNICALL Java_simgrid_msg_MsgNative_processGetPPID
96   (JNIEnv *, jclass, jobject);
97
98 /*
99  * Class                simgrid_msg_Msg
100  * Method               processSelf
101  * Signature    ()Lsimgrid/msg/Process;
102  */
103 JNIEXPORT jobject JNICALL Java_simgrid_msg_MsgNative_processSelf
104   (JNIEnv *, jclass);
105
106 /*
107  * Class                simgrid_msg_Msg
108  * Method               processSelfPID
109  * Signature    ()I
110  */
111 JNIEXPORT jint JNICALL Java_simgrid_msg_MsgNative_processSelfPID
112   (JNIEnv *, jclass);
113
114 /*
115  * Class                simgrid_msg_Msg
116  * Method               processSelfPPID
117  * Signature    ()I
118  */
119 JNIEXPORT jint JNICALL Java_simgrid_msg_MsgNative_processSelfPPID
120   (JNIEnv *, jclass);
121
122 /*
123  * Class                simgrid_msg_Msg
124  * Method               processChangeHost
125  * Signature    (Lsimgrid/msg/Process;Lsimgrid/msg/Host;)V
126  */
127 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_processChangeHost
128   (JNIEnv *, jclass, jobject);
129
130 /*
131  * Class                simgrid_msg_Msg
132  * Method               processWaitFor
133  * Signature    (D)V
134  */
135 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_processWaitFor
136   (JNIEnv *, jclass, jdouble);
137
138 /*
139  * Class                simgrid_msg_Msg
140  * Method               hostGetByName
141  * Signature    (Ljava/lang/String;)Lsimgrid/msg/Host;
142  */
143 JNIEXPORT jobject JNICALL Java_simgrid_msg_MsgNative_hostGetByName
144   (JNIEnv *, jclass, jstring);
145
146 /*
147  * Class                simgrid_msg_Msg
148  * Method               hostGetName
149  * Signature    (Lsimgrid/msg/Host;)Ljava/lang/String;
150  */
151 JNIEXPORT jstring JNICALL Java_simgrid_msg_MsgNative_hostGetName
152   (JNIEnv *, jclass, jobject);
153
154 /*
155  * Class                simgrid_msg_Msg
156  * Method               hostGetNumber
157  * Signature    ()I
158  */
159 JNIEXPORT jint JNICALL Java_simgrid_msg_MsgNative_hostGetNumber
160   (JNIEnv *, jclass);
161
162 /*
163  * Class                simgrid_msg_Msg
164  * Method               hostSelf
165  * Signature    ()Lsimgrid/msg/Host;
166  */
167 JNIEXPORT jobject JNICALL Java_simgrid_msg_MsgNative_hostSelf
168   (JNIEnv *, jclass);
169
170 /*
171  * Class                simgrid_msg_Msg
172  * Method               hostGetSpeed
173  * Signature    (Lsimgrid/msg/Host;)D
174  */
175 JNIEXPORT jdouble JNICALL Java_simgrid_msg_MsgNative_hostGetSpeed
176   (JNIEnv *, jclass, jobject);
177
178 JNIEXPORT jint JNICALL 
179 Java_simgrid_msg_MsgNative_hostGetLoad(JNIEnv* env, jclass cls, jobject jhost);
180
181 /*
182  * Class                simgrid_msg_Msg
183  * Method               hostIsAvail
184  * Signature    (Lsimgrid/msg/Host;)Z
185  */
186 JNIEXPORT jboolean JNICALL Java_simgrid_msg_MsgNative_hostIsAvail
187   (JNIEnv *, jclass, jobject);
188
189 /*
190  * Class                simgrid_msg_Msg
191  * Method               taskCreate
192  * Signature    (Lsimgrid/msg/Task;Ljava/lang/String;DD)V
193  */
194 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_taskCreate
195   (JNIEnv *, jclass, jobject, jstring, jdouble, jdouble);
196
197 JNIEXPORT void JNICALL 
198 Java_simgrid_msg_MsgNative_parallel_taskCreate(JNIEnv*, jclass, jobject, jstring, jobjectArray,jdoubleArray, jdoubleArray);
199
200 /*
201  * Class                simgrid_msg_Msg
202  * Method               taskGetSender
203  * Signature    (Lsimgrid/msg/Task;)Lsimgrid/msg/Process;
204  */
205 JNIEXPORT jobject JNICALL Java_simgrid_msg_MsgNative_taskGetSender
206   (JNIEnv *, jclass, jobject);
207
208 /*
209  * Class                simgrid_msg_Msg
210  * Method               taskGetSource
211  * Signature    (Lsimgrid/msg/Task;)Lsimgrid/msg/Host;
212  */
213 JNIEXPORT jobject JNICALL Java_simgrid_msg_MsgNative_taskGetSource
214   (JNIEnv *, jclass, jobject);
215
216 /*
217  * Class                simgrid_msg_Msg
218  * Method               taskGetName
219  * Signature    (Lsimgrid/msg/Task;)Ljava/lang/String;
220  */
221 JNIEXPORT jstring JNICALL Java_simgrid_msg_MsgNative_taskGetName
222   (JNIEnv *, jclass, jobject);
223
224 /*
225  * Class                simgrid_msg_Msg
226  * Method               taskCancel
227  * Signature    (Lsimgrid/msg/Task;)V
228  */
229 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_taskCancel
230   (JNIEnv *, jclass, jobject);
231
232 /*
233  * Class                simgrid_msg_Msg
234  * Method               taskGetComputeDuration
235  * Signature    (Lsimgrid/msg/Task;)D
236  */
237 JNIEXPORT jdouble JNICALL Java_simgrid_msg_MsgNative_taskGetComputeDuration
238   (JNIEnv *, jclass, jobject);
239
240 /*
241  * Class                simgrid_msg_Msg
242  * Method               taskGetRemainingDuration
243  * Signature    (Lsimgrid/msg/Task;)D
244  */
245 JNIEXPORT jdouble JNICALL Java_simgrid_msg_MsgNative_taskGetRemainingDuration
246   (JNIEnv *, jclass, jobject);
247
248 /*
249  * Class                simgrid_msg_Msg
250  * Method               taskSetPriority
251  * Signature    (Lsimgrid/msg/Task;D)V
252  */
253 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_taskSetPriority
254   (JNIEnv *, jclass, jobject, jdouble);
255
256 /*
257  * Class                simgrid_msg_Msg
258  * Method               taskDestroy
259  * Signature    (Lsimgrid/msg/Task;)V
260  */
261 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_taskDestroy
262   (JNIEnv *, jclass, jobject);
263
264 /*
265  * Class                simgrid_msg_Msg
266  * Method               taskExecute
267  * Signature    (Lsimgrid/msg/Task;)V
268  */
269 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_taskExecute
270   (JNIEnv *, jclass, jobject);
271
272 /*
273  * Class                simgrid_msg_Msg
274  * Method               taskGetWithTimeout
275  * Signature    (I;D;Lsimgrid/msg/Host;)Lsimgrid/msg/Task;
276  */
277 JNIEXPORT jobject JNICALL Java_simgrid_msg_MsgNative_taskGet
278   (JNIEnv *, jclass, jint, jdouble, jobject);
279
280 JNIEXPORT jobject JNICALL 
281 Java_simgrid_msg_MsgNative_taskReceive
282   (JNIEnv *, jclass, jstring, jdouble, jobject);
283
284 /*
285  * Class                simgrid_msg_Msg
286  * Method               taskHasPendingCommunication
287  * Signature    (I)Z
288  */
289 JNIEXPORT jboolean JNICALL Java_simgrid_msg_MsgNative_taskProbe
290   (JNIEnv *, jclass, jint);
291
292 /*
293  * Class                simgrid_msg_Msg
294  * Method               taskGetCommunicatingProcess
295  * Signature    (I)Lsimgrid/msg/Process;
296  */
297 JNIEXPORT jobject JNICALL Java_simgrid_msg_MsgNative_taskGetCommunicatingProcess
298   (JNIEnv *, jclass, jint);
299
300 /*
301  * Class                simgrid_msg_Msg
302  * Method               taskGetHostWaitingTasks
303  * Signature    (Lsimgrid/msg/Host;I)I
304  */
305 JNIEXPORT jint JNICALL Java_simgrid_msg_MsgNative_taskProbeHost
306   (JNIEnv *, jclass, jobject, jint);
307
308 /*
309  * Class                simgrid_msg_Msg
310  * Method               hostPutWith
311  * Signature    (Lsimgrid/msg/Host;I;Lsimgrid/msg/Task;D)V
312  */
313 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_hostPut
314   (JNIEnv *, jclass, jobject, jint, jobject, jdouble);
315
316 JNIEXPORT void JNICALL 
317 Java_simgrid_msg_MsgNative_taskSend
318   (JNIEnv *, jclass, jstring, jobject, jdouble);
319
320 /*
321  * Class                simgrid_msg_Msg
322  * Method               hostPutBounded
323  * Signature    (Lsimgrid/msg/Host;I;Lsimgrid/msg/Task;D)V
324  */
325 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_hostPutBounded
326   (JNIEnv *, jclass, jobject, jint, jobject, jdouble);
327
328 /*
329  * Class                simgrid_msg_Msg
330  * Method               getErrCode
331  * Signature    ()I
332  */
333 JNIEXPORT jint JNICALL Java_simgrid_msg_Msg_getErrCode
334   (JNIEnv *, jclass);
335
336 /*
337  * Class                simgrid_msg_Msg
338  * Method               getClock
339  * Signature    ()D
340  */
341 JNIEXPORT jdouble JNICALL Java_simgrid_msg_Msg_getClock
342   (JNIEnv *, jclass);
343
344 JNIEXPORT void JNICALL
345 JNICALL Java_simgrid_msg_Msg_run(JNIEnv* env, jclass cls);
346
347 JNIEXPORT void JNICALL 
348 Java_simgrid_msg_Msg_init(JNIEnv* env, jclass cls, jobjectArray jargs);
349
350 /*
351  * Class                simgrid_msg_Msg
352  * Method               processKillAll
353  * Signature    (I)I
354  */
355 JNIEXPORT jint JNICALL Java_simgrid_msg_MsgNative_processKillAll
356   (JNIEnv *, jclass, jint);
357
358 /*
359  * Class                simgrid_msg_Msg
360  * Method               processExit
361  * Signature    (Lsimgrid/msg/Process;)V
362  */
363 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_processExit
364   (JNIEnv *, jclass, jobject);
365
366 JNIEXPORT void JNICALL 
367 Java_simgrid_msg_Msg_pajeOutput(JNIEnv* env, jclass cls, jstring jpajeFile);
368
369 JNIEXPORT void JNICALL 
370 Java_simgrid_msg_Msg_info(JNIEnv * , jclass , jstring );
371
372 JNIEXPORT jobjectArray JNICALL
373 Java_simgrid_msg_MsgNative_allHosts(JNIEnv * , jclass );
374
375 JNIEXPORT void JNICALL 
376 Java_simgrid_msg_Msg_createEnvironment(JNIEnv* env, jclass cls,jstring jplatformFile);
377
378 JNIEXPORT void JNICALL 
379 Java_simgrid_msg_MsgNative_selectContextFactory(JNIEnv *, jclass, jstring);
380
381 JNIEXPORT void JNICALL 
382 Java_simgrid_msg_MsgNative_taskSendBounded(JNIEnv*, jclass, jstring, jobject, jdouble);
383
384 JNIEXPORT jboolean JNICALL 
385 Java_simgrid_msg_MsgNative_taskListen(JNIEnv*, jclass, jstring);
386
387 JNIEXPORT jint JNICALL 
388 Java_simgrid_msg_MsgNative_taskListenFromHost(JNIEnv*, jclass, jstring, jobject);
389
390 JNIEXPORT jint JNICALL 
391 Java_simgrid_msg_MsgNative_taskListenFrom(JNIEnv*, jclass, jstring);
392
393 JNIEXPORT void JNICALL 
394 Java_simgrid_msg_Msg_deployApplication(JNIEnv* env, jclass cls,jstring jdeploymentFile);
395
396 #endif /* !MSG4JAVA_H */