Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
5b4172b580e7d97de870b98ea9b72995b2fa8004
[simgrid.git] / src / jmsg.h
1 /* Java Wrappers to the MSG API.                                            */
2
3 /* Copyright (c) 2007, 2008, 2009, 2010. 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 MSG4JAVA_H
10 #define MSG4JAVA_H
11
12 #include <jni.h>
13
14 JavaVM *get_java_VM(void);
15
16 JNIEnv *get_current_thread_env(void);
17
18 /*
19  * Class                simgrid_msg_Msg
20  * Method               processCreate
21  * Signature    (Lsimgrid/msg/Process;Lsimgrid/msg/Host;)V
22  */
23 JNIEXPORT void JNICALL
24 Java_org_simgrid_msg_MsgNative_processCreate(JNIEnv * env, jclass cls,
25                                          jobject jprocess, jobject jhost);
26
27
28
29 /*
30  * Class                simgrid_msg_Msg
31  * Method               processSuspend
32  * Signature    (Lsimgrid/msg/Process;)V
33  */
34 JNIEXPORT void JNICALL
35 Java_org_simgrid_msg_MsgNative_processSuspend(JNIEnv * env, jobject obj,
36                                           jobject jprocess);
37
38 /*
39  * Class                simgrid_msg_Msg
40  * Method               processResume
41  * Signature    (Lsimgrid/msg/Process;)V
42  */
43 JNIEXPORT void JNICALL Java_org_simgrid_msg_MsgNative_processResume
44     (JNIEnv *, jclass, jobject);
45
46
47 JNIEXPORT void JNICALL
48 Java_org_simgrid_msg_Process_simulatedSleep(JNIEnv * env, jclass cls,
49                                            jdouble jmillis);
50
51
52 /*
53  * Class                simgrid_msg_Msg
54  * Method               processIsSuspended
55  * Signature    (Lsimgrid/msg/Process;)Z
56  */
57 JNIEXPORT jboolean JNICALL Java_org_simgrid_msg_MsgNative_processIsSuspended
58     (JNIEnv *, jclass, jobject);
59
60 /*
61  * Class                simgrid_msg_Msg
62  * Method               processKill
63  * Signature    (Lsimgrid/msg/Process;)V
64  */
65 JNIEXPORT void JNICALL Java_org_simgrid_msg_MsgNative_processKill
66     (JNIEnv *, jclass, jobject);
67
68 /*
69  * Class                simgrid_msg_Msg
70  * Method               processGetHost
71  * Signature    (Lsimgrid/msg/Process;)Lsimgrid/msg/Host;
72  */
73 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_MsgNative_processGetHost
74     (JNIEnv *, jclass, jobject);
75
76 /*
77  * Class                simgrid_msg_Msg
78  * Method               processFromPID
79  * Signature    (I)Lsimgrid/msg/Process;
80  */
81 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_MsgNative_processFromPID
82     (JNIEnv *, jclass, jint);
83
84 /*
85  * Class                simgrid_msg_Msg
86  * Method               processGetPID
87  * Signature    (Lsimgrid/msg/Process;)I
88  */
89 JNIEXPORT jint JNICALL Java_org_simgrid_msg_MsgNative_processGetPID
90     (JNIEnv *, jclass, jobject);
91
92 /*
93  * Class                simgrid_msg_Msg
94  * Method               processGetPPID
95  * Signature    (Lsimgrid/msg/Process;)I
96  */
97 JNIEXPORT jint JNICALL Java_org_simgrid_msg_MsgNative_processGetPPID
98     (JNIEnv *, jclass, jobject);
99
100 /*
101  * Class                simgrid_msg_Msg
102  * Method               processSelf
103  * Signature    ()Lsimgrid/msg/Process;
104  */
105 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_MsgNative_processSelf
106     (JNIEnv *, jclass);
107
108 /*
109  * Class                simgrid_msg_Msg
110  * Method               processSelfPID
111  * Signature    ()I
112  */
113 JNIEXPORT jint JNICALL Java_org_simgrid_msg_MsgNative_processSelfPID
114     (JNIEnv *, jclass);
115
116 /*
117  * Class                simgrid_msg_Msg
118  * Method               processSelfPPID
119  * Signature    ()I
120  */
121 JNIEXPORT jint JNICALL Java_org_simgrid_msg_MsgNative_processSelfPPID
122     (JNIEnv *, jclass);
123
124 /*
125  * Class                simgrid_msg_Msg
126  * Method               processMigrate
127  * Signature    (Lsimgrid/msg/Process;Lsimgrid/msg/Host;)V
128  */
129 JNIEXPORT void JNICALL Java_org_simgrid_msg_MsgNative_processMigrate
130     (JNIEnv *, jclass, jobject, jobject);
131
132 /*
133  * Class                simgrid_msg_Msg
134  * Method               processWaitFor
135  * Signature    (D)V
136  */
137 JNIEXPORT void JNICALL Java_org_simgrid_msg_MsgNative_processWaitFor
138     (JNIEnv *, jclass, jdouble);
139
140 /*
141  * Class                simgrid_msg_Msg
142  * Method               hostGetByName
143  * Signature    (Ljava/lang/String;)Lsimgrid/msg/Host;
144  */
145 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_MsgNative_hostGetByName
146     (JNIEnv *, jclass, jstring);
147
148 /*
149  * Class                simgrid_msg_Msg
150  * Method               hostGetName
151  * Signature    (Lsimgrid/msg/Host;)Ljava/lang/String;
152  */
153 JNIEXPORT jstring JNICALL Java_org_simgrid_msg_MsgNative_hostGetName
154     (JNIEnv *, jclass, jobject);
155
156 /*
157  * Class                simgrid_msg_Msg
158  * Method               hostGetNumber
159  * Signature    ()I
160  */
161 JNIEXPORT jint JNICALL Java_org_simgrid_msg_MsgNative_hostGetNumber
162     (JNIEnv *, jclass);
163
164 /*
165  * Class                simgrid_msg_Msg
166  * Method               hostSelf
167  * Signature    ()Lsimgrid/msg/Host;
168  */
169 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_MsgNative_hostSelf
170     (JNIEnv *, jclass);
171
172 /*
173  * Class                simgrid_msg_Msg
174  * Method               hostGetSpeed
175  * Signature    (Lsimgrid/msg/Host;)D
176  */
177 JNIEXPORT jdouble JNICALL Java_org_simgrid_msg_MsgNative_hostGetSpeed
178     (JNIEnv *, jclass, jobject);
179
180 JNIEXPORT jint JNICALL
181 Java_org_simgrid_msg_MsgNative_hostGetLoad(JNIEnv * env, jclass cls,
182                                        jobject jhost);
183
184 /*
185  * Class                simgrid_msg_Msg
186  * Method               hostIsAvail
187  * Signature    (Lsimgrid/msg/Host;)Z
188  */
189 JNIEXPORT jboolean JNICALL Java_org_simgrid_msg_MsgNative_hostIsAvail
190     (JNIEnv *, jclass, jobject);
191
192 /*
193  * Class                simgrid_msg_Msg
194  * Method               taskGetSender
195  * Signature    (Lsimgrid/msg/Task;)Lsimgrid/msg/Process;
196  */
197 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_MsgNative_taskGetSender
198     (JNIEnv *, jclass, jobject);
199
200 /*
201  * Class                simgrid_msg_Msg
202  * Method               taskGetSource
203  * Signature    (Lsimgrid/msg/Task;)Lsimgrid/msg/Host;
204  */
205 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_MsgNative_taskGetSource
206     (JNIEnv *, jclass, jobject);
207
208 /*
209  * Class                simgrid_msg_Msg
210  * Method               taskCancel
211  * Signature    (Lsimgrid/msg/Task;)V
212  */
213 JNIEXPORT void JNICALL Java_org_simgrid_msg_MsgNative_taskCancel
214     (JNIEnv *, jclass, jobject);
215
216 /*
217  * Class                simgrid_msg_Msg
218  * Method               taskGetComputeDuration
219  * Signature    (Lsimgrid/msg/Task;)D
220  */
221 JNIEXPORT jdouble JNICALL Java_org_simgrid_msg_MsgNative_taskGetComputeDuration
222     (JNIEnv *, jclass, jobject);
223
224 /*
225  * Class                simgrid_msg_Msg
226  * Method               taskGetRemainingDuration
227  * Signature    (Lsimgrid/msg/Task;)D
228  */
229 JNIEXPORT jdouble JNICALL
230 Java_org_simgrid_msg_MsgNative_taskGetRemainingDuration(JNIEnv *, jclass,
231                                                     jobject);
232
233 /*
234  * Class                simgrid_msg_Msg
235  * Method               taskSetPriority
236  * Signature    (Lsimgrid/msg/Task;D)V
237  */
238 JNIEXPORT void JNICALL Java_org_simgrid_msg_MsgNative_taskSetPriority
239     (JNIEnv *, jclass, jobject, jdouble);
240
241 /*
242  * Class                simgrid_msg_Msg
243  * Method               taskExecute
244  * Signature    (Lsimgrid/msg/Task;)V
245  */
246 JNIEXPORT void JNICALL Java_org_simgrid_msg_MsgNative_taskExecute
247     (JNIEnv *, jclass, jobject);
248
249 JNIEXPORT jobject JNICALL
250     Java_org_simgrid_msg_MsgNative_taskReceive
251     (JNIEnv *, jclass, jstring, jdouble, jobject);
252
253 JNIEXPORT void JNICALL
254     Java_org_simgrid_msg_MsgNative_taskSend
255     (JNIEnv *, jclass, jstring, jobject, jdouble);
256
257 /*
258  * Class                simgrid_msg_Msg
259  * Method               getClock
260  * Signature    ()D
261  */
262 JNIEXPORT jdouble JNICALL Java_org_simgrid_msg_Msg_getClock(JNIEnv *, jclass);
263
264 JNIEXPORT void JNICALL
265     JNICALL Java_org_simgrid_msg_Msg_run(JNIEnv * env, jclass cls);
266 JNIEXPORT void JNICALL
267     JNICALL Java_org_simgrid_msg_Msg_clean(JNIEnv * env, jclass cls);
268
269 JNIEXPORT void JNICALL
270 Java_org_simgrid_msg_Msg_init(JNIEnv * env, jclass cls, jobjectArray jargs);
271
272 /*
273  * Class                simgrid_msg_Msg
274  * Method               processKillAll
275  * Signature    (I)I
276  */
277 JNIEXPORT jint JNICALL Java_org_simgrid_msg_MsgNative_processKillAll
278     (JNIEnv *, jclass, jint);
279
280 /*
281  * Class                simgrid_msg_Msg
282  * Method               processExit
283  * Signature    (Lsimgrid/msg/Process;)V
284  */
285 JNIEXPORT void JNICALL Java_org_simgrid_msg_MsgNative_processExit
286     (JNIEnv *, jclass, jobject);
287
288 JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_info(JNIEnv *, jclass,
289                                                  jstring);
290
291 JNIEXPORT jobjectArray JNICALL
292 Java_org_simgrid_msg_MsgNative_allHosts(JNIEnv *, jclass);
293
294 JNIEXPORT void JNICALL
295 Java_org_simgrid_msg_Msg_createEnvironment(JNIEnv * env, jclass cls,
296                                        jstring jplatformFile);
297
298 JNIEXPORT void JNICALL
299 Java_org_simgrid_msg_MsgNative_taskSendBounded(JNIEnv *, jclass, jstring,
300                                            jobject, jdouble);
301
302 JNIEXPORT jboolean JNICALL
303 Java_org_simgrid_msg_MsgNative_taskListen(JNIEnv *, jclass, jstring);
304
305 JNIEXPORT jint JNICALL
306 Java_org_simgrid_msg_MsgNative_taskListenFromHost(JNIEnv *, jclass, jstring,
307                                               jobject);
308
309 JNIEXPORT jint JNICALL
310 Java_org_simgrid_msg_MsgNative_taskListenFrom(JNIEnv *, jclass, jstring);
311
312 JNIEXPORT void JNICALL
313 Java_org_simgrid_msg_Msg_deployApplication(JNIEnv * env, jclass cls,
314                                        jstring jdeploymentFile);
315
316 #endif                          /* !MSG4JAVA_H */