Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Trying to fix another java bug
[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 *get_java_VM(void);
19
20 JNIEnv *get_current_thread_env(void);
21
22 /*
23  * Class                simgrid_msg_Msg
24  * Method               processCreate
25  * Signature    (Lsimgrid/msg/Process;Lsimgrid/msg/Host;)V
26  */
27 JNIEXPORT void JNICALL
28 Java_simgrid_msg_MsgNative_processCreate(JNIEnv * env, jclass cls,
29                                          jobject jprocess, jobject jhost);
30
31
32
33 /*
34  * Class                simgrid_msg_Msg
35  * Method               processSuspend
36  * Signature    (Lsimgrid/msg/Process;)V
37  */
38 JNIEXPORT void JNICALL
39 Java_simgrid_msg_MsgNative_processSuspend(JNIEnv * env, jclass cls,
40                                           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,
180                                        jobject jhost);
181
182 /*
183  * Class                simgrid_msg_Msg
184  * Method               hostIsAvail
185  * Signature    (Lsimgrid/msg/Host;)Z
186  */
187 JNIEXPORT jboolean JNICALL Java_simgrid_msg_MsgNative_hostIsAvail
188   (JNIEnv *, jclass, jobject);
189
190 /*
191  * Class                simgrid_msg_Msg
192  * Method               taskCreate
193  * Signature    (Lsimgrid/msg/Task;Ljava/lang/String;DD)V
194  */
195 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_taskCreate
196   (JNIEnv *, jclass, jobject, jstring, jdouble, jdouble);
197
198 JNIEXPORT void JNICALL
199 Java_simgrid_msg_MsgNative_parallel_taskCreate(JNIEnv *, jclass, jobject,
200                                                jstring, jobjectArray,
201                                                jdoubleArray, jdoubleArray);
202
203 /*
204  * Class                simgrid_msg_Msg
205  * Method               taskGetSender
206  * Signature    (Lsimgrid/msg/Task;)Lsimgrid/msg/Process;
207  */
208 JNIEXPORT jobject JNICALL Java_simgrid_msg_MsgNative_taskGetSender
209   (JNIEnv *, jclass, jobject);
210
211 /*
212  * Class                simgrid_msg_Msg
213  * Method               taskGetSource
214  * Signature    (Lsimgrid/msg/Task;)Lsimgrid/msg/Host;
215  */
216 JNIEXPORT jobject JNICALL Java_simgrid_msg_MsgNative_taskGetSource
217   (JNIEnv *, jclass, jobject);
218
219 /*
220  * Class                simgrid_msg_Msg
221  * Method               taskGetName
222  * Signature    (Lsimgrid/msg/Task;)Ljava/lang/String;
223  */
224 JNIEXPORT jstring JNICALL Java_simgrid_msg_MsgNative_taskGetName
225   (JNIEnv *, jclass, jobject);
226
227 /*
228  * Class                simgrid_msg_Msg
229  * Method               taskCancel
230  * Signature    (Lsimgrid/msg/Task;)V
231  */
232 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_taskCancel
233   (JNIEnv *, jclass, jobject);
234
235 /*
236  * Class                simgrid_msg_Msg
237  * Method               taskGetComputeDuration
238  * Signature    (Lsimgrid/msg/Task;)D
239  */
240 JNIEXPORT jdouble JNICALL Java_simgrid_msg_MsgNative_taskGetComputeDuration
241   (JNIEnv *, jclass, jobject);
242
243 /*
244  * Class                simgrid_msg_Msg
245  * Method               taskGetRemainingDuration
246  * Signature    (Lsimgrid/msg/Task;)D
247  */
248 JNIEXPORT jdouble JNICALL Java_simgrid_msg_MsgNative_taskGetRemainingDuration
249   (JNIEnv *, jclass, jobject);
250
251 /*
252  * Class                simgrid_msg_Msg
253  * Method               taskSetPriority
254  * Signature    (Lsimgrid/msg/Task;D)V
255  */
256 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_taskSetPriority
257   (JNIEnv *, jclass, jobject, jdouble);
258
259 /*
260  * Class                simgrid_msg_Msg
261  * Method               taskDestroy
262  * Signature    (Lsimgrid/msg/Task;)V
263  */
264 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_taskDestroy
265   (JNIEnv *, jclass, jobject);
266
267 /*
268  * Class                simgrid_msg_Msg
269  * Method               taskExecute
270  * Signature    (Lsimgrid/msg/Task;)V
271  */
272 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_taskExecute
273   (JNIEnv *, jclass, jobject);
274
275 /*
276  * Class                simgrid_msg_Msg
277  * Method               taskGetWithTimeout
278  * Signature    (I;D;Lsimgrid/msg/Host;)Lsimgrid/msg/Task;
279  */
280 JNIEXPORT jobject JNICALL Java_simgrid_msg_MsgNative_taskGet
281   (JNIEnv *, jclass, jint, jdouble, jobject);
282
283 JNIEXPORT jobject JNICALL
284   Java_simgrid_msg_MsgNative_taskReceive
285   (JNIEnv *, jclass, jstring, jdouble, jobject);
286
287 /*
288  * Class                simgrid_msg_Msg
289  * Method               taskHasPendingCommunication
290  * Signature    (I)Z
291  */
292 JNIEXPORT jboolean JNICALL Java_simgrid_msg_MsgNative_taskProbe
293   (JNIEnv *, jclass, jint);
294
295 /*
296  * Class                simgrid_msg_Msg
297  * Method               taskGetCommunicatingProcess
298  * Signature    (I)Lsimgrid/msg/Process;
299  */
300 JNIEXPORT jobject JNICALL
301 Java_simgrid_msg_MsgNative_taskGetCommunicatingProcess(JNIEnv *, jclass,
302                                                        jint);
303
304 /*
305  * Class                simgrid_msg_Msg
306  * Method               taskGetHostWaitingTasks
307  * Signature    (Lsimgrid/msg/Host;I)I
308  */
309 JNIEXPORT jint JNICALL Java_simgrid_msg_MsgNative_taskProbeHost
310   (JNIEnv *, jclass, jobject, jint);
311
312 /*
313  * Class                simgrid_msg_Msg
314  * Method               hostPutWith
315  * Signature    (Lsimgrid/msg/Host;I;Lsimgrid/msg/Task;D)V
316  */
317 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_hostPut
318   (JNIEnv *, jclass, jobject, jint, jobject, jdouble);
319
320 JNIEXPORT void JNICALL
321   Java_simgrid_msg_MsgNative_taskSend
322   (JNIEnv *, jclass, jstring, jobject, jdouble);
323
324 /*
325  * Class                simgrid_msg_Msg
326  * Method               hostPutBounded
327  * Signature    (Lsimgrid/msg/Host;I;Lsimgrid/msg/Task;D)V
328  */
329 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_hostPutBounded
330   (JNIEnv *, jclass, jobject, jint, jobject, jdouble);
331
332 /*
333  * Class                simgrid_msg_Msg
334  * Method               getErrCode
335  * Signature    ()I
336  */
337 JNIEXPORT jint JNICALL Java_simgrid_msg_Msg_getErrCode(JNIEnv *, jclass);
338
339 /*
340  * Class                simgrid_msg_Msg
341  * Method               getClock
342  * Signature    ()D
343  */
344 JNIEXPORT jdouble JNICALL Java_simgrid_msg_Msg_getClock(JNIEnv *, jclass);
345
346 JNIEXPORT void JNICALL
347   JNICALL Java_simgrid_msg_Msg_run(JNIEnv * env, jclass cls);
348
349 JNIEXPORT void JNICALL
350 Java_simgrid_msg_Msg_init(JNIEnv * env, jclass cls, jobjectArray jargs);
351
352 /*
353  * Class                simgrid_msg_Msg
354  * Method               processKillAll
355  * Signature    (I)I
356  */
357 JNIEXPORT jint JNICALL Java_simgrid_msg_MsgNative_processKillAll
358   (JNIEnv *, jclass, jint);
359
360 /*
361  * Class                simgrid_msg_Msg
362  * Method               processExit
363  * Signature    (Lsimgrid/msg/Process;)V
364  */
365 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_processExit
366   (JNIEnv *, jclass, jobject);
367
368 JNIEXPORT void JNICALL
369 Java_simgrid_msg_Msg_pajeOutput(JNIEnv * env, jclass cls, jstring jpajeFile);
370
371 JNIEXPORT void JNICALL Java_simgrid_msg_Msg_info(JNIEnv *, jclass, jstring);
372
373 JNIEXPORT jobjectArray JNICALL
374 Java_simgrid_msg_MsgNative_allHosts(JNIEnv *, jclass);
375
376 JNIEXPORT void JNICALL
377 Java_simgrid_msg_Msg_createEnvironment(JNIEnv * env, jclass cls,
378                                        jstring jplatformFile);
379
380 JNIEXPORT void JNICALL
381 Java_simgrid_msg_MsgNative_selectContextFactory(JNIEnv *, jclass, jstring);
382
383 JNIEXPORT void JNICALL
384 Java_simgrid_msg_MsgNative_taskSendBounded(JNIEnv *, jclass, jstring, jobject,
385                                            jdouble);
386
387 JNIEXPORT jboolean JNICALL
388 Java_simgrid_msg_MsgNative_taskListen(JNIEnv *, jclass, jstring);
389
390 JNIEXPORT jint JNICALL
391 Java_simgrid_msg_MsgNative_taskListenFromHost(JNIEnv *, jclass, jstring,
392                                               jobject);
393
394 JNIEXPORT jint JNICALL
395 Java_simgrid_msg_MsgNative_taskListenFrom(JNIEnv *, jclass, jstring);
396
397 JNIEXPORT void JNICALL
398 Java_simgrid_msg_Msg_deployApplication(JNIEnv * env, jclass cls,
399                                        jstring jdeploymentFile);
400
401 #endif /* !MSG4JAVA_H */