Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
02f22f13c40ed82091bba56dd6643f9b24dfab45
[simgrid.git] / src / bindings / java / jtrace.cpp
1 /* Java bindings of the Trace API.                                          */
2
3 /* Copyright (c) 2012-2017. The SimGrid Team. All rights reserved.          */
4
5 /* This program is free software; you can redistribute it and/or modify it
6  * under the terms of the license (GNU LGPL) which comes with this package. */
7
8 #include "jtrace.h"
9 #include "simgrid/instr.h"
10
11 /* Shut up some errors in eclipse online compiler. I wish such a pimple wouldn't be needed */
12 #ifndef JNIEXPORT
13 #define JNIEXPORT
14 #endif
15 #ifndef JNICALL
16 #define JNICALL
17 #endif
18 /* end of eclipse-mandated pimple */
19
20 // Define a new category
21 XBT_LOG_NEW_DEFAULT_CATEGORY (jtrace, "TRACE for Java(TM)");
22
23 extern "C" {
24
25 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostStateDeclare(JNIEnv * env, jclass cls, jstring js)
26 {
27   const char *s = env->GetStringUTFChars(js, 0);
28   TRACE_host_state_declare(s);
29   env->ReleaseStringUTFChars(js, s);
30 }
31
32 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostStateDeclareValue (JNIEnv *env, jclass cls, jstring js_state,
33                                                                            jstring js_value, jstring js_color)
34 {
35   const char *state = env->GetStringUTFChars(js_state, 0);
36   const char *value = env->GetStringUTFChars(js_value, 0);
37   const char *color = env->GetStringUTFChars(js_color, 0);
38
39   TRACE_host_state_declare_value(state, value, color);
40
41   env->ReleaseStringUTFChars(js_state, state);
42   env->ReleaseStringUTFChars(js_value, value);
43   env->ReleaseStringUTFChars(js_color, color);
44 }
45
46 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostSetState (JNIEnv *env, jclass cls, jstring js_host,
47                                                                   jstring js_state, jstring js_value)
48 {
49   const char *host = env->GetStringUTFChars(js_host, 0);
50   const char *state = env->GetStringUTFChars(js_state, 0);
51   const char *value = env->GetStringUTFChars(js_value, 0);
52
53   TRACE_host_set_state(host, state, value);
54
55   env->ReleaseStringUTFChars(js_host, host);
56   env->ReleaseStringUTFChars(js_state, state);
57   env->ReleaseStringUTFChars(js_value, value);
58 }
59
60 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostPushState (JNIEnv *env, jclass cls, jstring js_host,
61                                                                    jstring js_state, jstring js_value)
62 {
63   const char *host = env->GetStringUTFChars(js_host, 0);
64   const char *state = env->GetStringUTFChars(js_state, 0);
65   const char *value = env->GetStringUTFChars(js_value, 0);
66
67   TRACE_host_push_state(host, state, value);
68
69   env->ReleaseStringUTFChars(js_host, host);
70   env->ReleaseStringUTFChars(js_state, state);
71   env->ReleaseStringUTFChars(js_value, value);
72 }
73
74 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostPopState (JNIEnv *env, jclass cls, jstring js_host,
75                                                                   jstring js_state)
76 {
77   const char *host = env->GetStringUTFChars(js_host, 0);
78   const char *state = env->GetStringUTFChars(js_state, 0);
79
80   TRACE_host_pop_state(host, state);
81
82   env->ReleaseStringUTFChars(js_host, host);
83   env->ReleaseStringUTFChars(js_state, state);
84 }
85
86 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableDeclare (JNIEnv *env, jclass cls, jstring js_state)
87 {
88   const char *state = env->GetStringUTFChars(js_state, 0);
89   TRACE_host_variable_declare(state);
90   env->ReleaseStringUTFChars(js_state, state);
91 }
92
93 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableSet (JNIEnv *env, jclass cls, jstring js_host,
94                                                                      jstring js_state, jdouble value)
95 {
96   const char *host = env->GetStringUTFChars(js_host, 0);
97   const char *state = env->GetStringUTFChars(js_state, 0);
98
99   TRACE_host_variable_set(host, state, value);
100
101   env->ReleaseStringUTFChars(js_host, host);
102   env->ReleaseStringUTFChars(js_state, state);
103 }
104
105 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableSub (JNIEnv *env, jclass cls, jstring js_host,
106                                                                      jstring js_state, jdouble value)
107 {
108   const char *host = env->GetStringUTFChars(js_host, 0);
109   const char *state = env->GetStringUTFChars(js_state, 0);
110
111   TRACE_host_variable_sub(host, state, value);
112
113   env->ReleaseStringUTFChars(js_host, host);
114   env->ReleaseStringUTFChars(js_state, state);
115 }
116
117 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_vmVariableDeclare (JNIEnv *env, jclass cls, jstring js_state)
118 {
119   const char *state = env->GetStringUTFChars(js_state, 0);
120
121   TRACE_vm_variable_declare(state);
122
123   env->ReleaseStringUTFChars(js_state, state);
124 }
125
126 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_vmVariableSet (JNIEnv *env, jclass cls, jstring js_vm,
127                                                                    jstring js_state, jdouble value)
128 {
129   const char *vm = env->GetStringUTFChars(js_vm, 0);
130   const char *state = env->GetStringUTFChars(js_state, 0);
131
132   TRACE_vm_variable_set(vm, state, value);
133
134   env->ReleaseStringUTFChars(js_vm, vm);
135   env->ReleaseStringUTFChars(js_state, state);
136 }
137
138 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableAdd (JNIEnv *env, jclass cls, jstring js_host,
139                                                                      jstring js_state, jdouble value)
140 {
141   const char *host = env->GetStringUTFChars(js_host, 0);
142   const char *state = env->GetStringUTFChars(js_state, 0);
143
144   TRACE_host_variable_set(host, state, value);
145
146   env->ReleaseStringUTFChars(js_host, host);
147   env->ReleaseStringUTFChars(js_state, state);
148 }
149
150 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableDeclare (JNIEnv *env, jclass cls, jstring jvar) {
151   const char *variable = env->GetStringUTFChars(jvar, 0);
152   TRACE_link_variable_declare (variable);
153   env->ReleaseStringUTFChars(jvar, variable);
154 }
155 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableDeclareWithColor (JNIEnv *env, jclass cls, jstring jvar, jstring jcolor) {
156   const char *variable = env->GetStringUTFChars(jvar, 0);
157   const char *color = env->GetStringUTFChars(jcolor, 0);
158   TRACE_link_variable_declare_with_color(variable,color);
159   env->ReleaseStringUTFChars(jvar, variable);
160   env->ReleaseStringUTFChars(jcolor, color);
161 }
162 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableSet (JNIEnv *env, jclass cls, jstring jlink, jstring jvar, jdouble jvalue) {
163   const char *link = env->GetStringUTFChars(jlink, 0);
164   const char *variable = env->GetStringUTFChars(jvar, 0);
165   TRACE_link_variable_set(link, variable, jvalue);
166   env->ReleaseStringUTFChars(jlink, link);
167   env->ReleaseStringUTFChars(jvar, variable);
168 }
169 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableSet
170   (JNIEnv *env, jclass cls, jstring jsrc, jstring jdst, jstring jvar, jdouble jval)
171 {
172   const char *src = env->GetStringUTFChars(jsrc, 0);
173   const char *dst = env->GetStringUTFChars(jdst, 0);
174   const char *variable = env->GetStringUTFChars(jvar, 0);
175   TRACE_link_srcdst_variable_set(src,dst,variable, jval);
176   env->ReleaseStringUTFChars(jsrc, src);
177   env->ReleaseStringUTFChars(jdst, dst);
178   env->ReleaseStringUTFChars(jvar, variable);
179 }
180 /* Missing calls
181    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableAdd(JNIEnv *, jclass, jstring, jstring, jdouble)
182    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableSub(JNIEnv *env, jclass cls, jstring, jstring,
183                                                                        jdouble)
184    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableSetWithTime(JNIEnv *, jclass, jdouble, jstring,
185                                                                                jstring, jdouble)
186    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableAddWithTime(JNIEnv *, jclass, jdouble, jstring,
187                                                                                jstring, jdouble)
188    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableSubWithTime(JNIEnv *, jclass, jdouble, jstring,
189                                                                                jstring, jdouble)
190    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableAdd(JNIEnv *, jclass, jstring, jstring,
191                                                                              jstring, jdouble)
192    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableSub(JNIEnv *, jclass, jstring, jstring,
193                                                                              jstring, jdouble)
194    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableSetWithTime(JNIEnv *env, jclass cls, jdouble,
195                                                                                      jstring, jstring, jstring, jdouble)
196    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcdstVariableAddWithTime(JNIEnv *env, jclass cls, jdouble,
197                                                                                      jstring, jstring, jstring, jdouble)
198    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableSubWithTime(JNIEnv *env, jclass cls, jdouble,
199                                                                                      jstring, jstring, jstring, jdouble)
200 */
201 }