Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
using shared Task to exchange data
[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 JNIEXPORT jobject JNICALL
276   Java_simgrid_msg_MsgNative_taskReceive
277   (JNIEnv *, jclass, jstring, jdouble, jobject);
278
279 JNIEXPORT void JNICALL
280   Java_simgrid_msg_MsgNative_taskSend
281   (JNIEnv *, jclass, jstring, jobject, jdouble);
282
283 /*
284  * Class                simgrid_msg_Msg
285  * Method               getErrCode
286  * Signature    ()I
287  */
288 JNIEXPORT jint JNICALL Java_simgrid_msg_Msg_getErrCode(JNIEnv *, jclass);
289
290 /*
291  * Class                simgrid_msg_Msg
292  * Method               getClock
293  * Signature    ()D
294  */
295 JNIEXPORT jdouble JNICALL Java_simgrid_msg_Msg_getClock(JNIEnv *, jclass);
296
297 JNIEXPORT void JNICALL
298   JNICALL Java_simgrid_msg_Msg_run(JNIEnv * env, jclass cls);
299
300 JNIEXPORT void JNICALL
301 Java_simgrid_msg_Msg_init(JNIEnv * env, jclass cls, jobjectArray jargs);
302
303 /*
304  * Class                simgrid_msg_Msg
305  * Method               processKillAll
306  * Signature    (I)I
307  */
308 JNIEXPORT jint JNICALL Java_simgrid_msg_MsgNative_processKillAll
309   (JNIEnv *, jclass, jint);
310
311 /*
312  * Class                simgrid_msg_Msg
313  * Method               processExit
314  * Signature    (Lsimgrid/msg/Process;)V
315  */
316 JNIEXPORT void JNICALL Java_simgrid_msg_MsgNative_processExit
317   (JNIEnv *, jclass, jobject);
318
319 JNIEXPORT void JNICALL Java_simgrid_msg_Msg_info(JNIEnv *, jclass, jstring);
320
321 JNIEXPORT jobjectArray JNICALL
322 Java_simgrid_msg_MsgNative_allHosts(JNIEnv *, jclass);
323
324 JNIEXPORT void JNICALL
325 Java_simgrid_msg_Msg_createEnvironment(JNIEnv * env, jclass cls,
326                                        jstring jplatformFile);
327
328 JNIEXPORT void JNICALL
329 Java_simgrid_msg_MsgNative_selectContextFactory(JNIEnv *, jclass, jstring);
330
331 JNIEXPORT void JNICALL
332 Java_simgrid_msg_MsgNative_taskSendBounded(JNIEnv *, jclass, jstring, jobject,
333                                            jdouble);
334
335 JNIEXPORT jboolean JNICALL
336 Java_simgrid_msg_MsgNative_taskListen(JNIEnv *, jclass, jstring);
337
338 JNIEXPORT jint JNICALL
339 Java_simgrid_msg_MsgNative_taskListenFromHost(JNIEnv *, jclass, jstring,
340                                               jobject);
341
342 JNIEXPORT jint JNICALL
343 Java_simgrid_msg_MsgNative_taskListenFrom(JNIEnv *, jclass, jstring);
344
345 JNIEXPORT void JNICALL
346 Java_simgrid_msg_Msg_deployApplication(JNIEnv * env, jclass cls,
347                                        jstring jdeploymentFile);
348
349 #endif /* !MSG4JAVA_H */