Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into adrien
[simgrid.git] / src / bindings / java / jtrace.cpp
1 /* Java bindings of the Trace API.                                          */
2
3 /* Copyright (c) 2012-2020. 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 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostStateDeclare(JNIEnv * env, jclass cls, jstring js)
21 {
22   const char *s = env->GetStringUTFChars(js, 0);
23   TRACE_host_state_declare(s);
24   env->ReleaseStringUTFChars(js, s);
25 }
26
27 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostStateDeclareValue (JNIEnv *env, jclass cls, jstring js_state,
28                                                                            jstring js_value, jstring js_color)
29 {
30   const char *state = env->GetStringUTFChars(js_state, 0);
31   const char *value = env->GetStringUTFChars(js_value, 0);
32   const char *color = env->GetStringUTFChars(js_color, 0);
33
34   TRACE_host_state_declare_value(state, value, color);
35
36   env->ReleaseStringUTFChars(js_state, state);
37   env->ReleaseStringUTFChars(js_value, value);
38   env->ReleaseStringUTFChars(js_color, color);
39 }
40
41 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostSetState (JNIEnv *env, jclass cls, jstring js_host,
42                                                                   jstring js_state, jstring js_value)
43 {
44   const char *host = env->GetStringUTFChars(js_host, 0);
45   const char *state = env->GetStringUTFChars(js_state, 0);
46   const char *value = env->GetStringUTFChars(js_value, 0);
47
48   TRACE_host_set_state(host, state, value);
49
50   env->ReleaseStringUTFChars(js_host, host);
51   env->ReleaseStringUTFChars(js_state, state);
52   env->ReleaseStringUTFChars(js_value, value);
53 }
54
55 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostPushState (JNIEnv *env, jclass cls, jstring js_host,
56                                                                    jstring js_state, jstring js_value)
57 {
58   const char *host = env->GetStringUTFChars(js_host, 0);
59   const char *state = env->GetStringUTFChars(js_state, 0);
60   const char *value = env->GetStringUTFChars(js_value, 0);
61
62   TRACE_host_push_state(host, state, value);
63
64   env->ReleaseStringUTFChars(js_host, host);
65   env->ReleaseStringUTFChars(js_state, state);
66   env->ReleaseStringUTFChars(js_value, value);
67 }
68
69 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostPopState (JNIEnv *env, jclass cls, jstring js_host,
70                                                                   jstring js_state)
71 {
72   const char *host = env->GetStringUTFChars(js_host, 0);
73   const char *state = env->GetStringUTFChars(js_state, 0);
74
75   TRACE_host_pop_state(host, state);
76
77   env->ReleaseStringUTFChars(js_host, host);
78   env->ReleaseStringUTFChars(js_state, state);
79 }
80
81 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableDeclare (JNIEnv *env, jclass cls, jstring js_state)
82 {
83   const char *state = env->GetStringUTFChars(js_state, 0);
84   TRACE_host_variable_declare(state);
85   env->ReleaseStringUTFChars(js_state, state);
86 }
87
88 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableSet (JNIEnv *env, jclass cls, jstring js_host,
89                                                                      jstring js_state, jdouble value)
90 {
91   const char *host = env->GetStringUTFChars(js_host, 0);
92   const char *state = env->GetStringUTFChars(js_state, 0);
93
94   TRACE_host_variable_set(host, state, value);
95
96   env->ReleaseStringUTFChars(js_host, host);
97   env->ReleaseStringUTFChars(js_state, state);
98 }
99
100 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableSub (JNIEnv *env, jclass cls, jstring js_host,
101                                                                      jstring js_state, jdouble value)
102 {
103   const char *host = env->GetStringUTFChars(js_host, 0);
104   const char *state = env->GetStringUTFChars(js_state, 0);
105
106   TRACE_host_variable_sub(host, state, value);
107
108   env->ReleaseStringUTFChars(js_host, host);
109   env->ReleaseStringUTFChars(js_state, state);
110 }
111
112 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_vmVariableDeclare (JNIEnv *env, jclass cls, jstring js_state)
113 {
114   const char *state = env->GetStringUTFChars(js_state, 0);
115
116   TRACE_vm_variable_declare(state);
117
118   env->ReleaseStringUTFChars(js_state, state);
119 }
120
121 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_vmVariableSet (JNIEnv *env, jclass cls, jstring js_vm,
122                                                                    jstring js_state, jdouble value)
123 {
124   const char *vm = env->GetStringUTFChars(js_vm, 0);
125   const char *state = env->GetStringUTFChars(js_state, 0);
126
127   TRACE_vm_variable_set(vm, state, value);
128
129   env->ReleaseStringUTFChars(js_vm, vm);
130   env->ReleaseStringUTFChars(js_state, state);
131 }
132
133 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableAdd (JNIEnv *env, jclass cls, jstring js_host,
134                                                                      jstring js_state, jdouble value)
135 {
136   const char *host = env->GetStringUTFChars(js_host, 0);
137   const char *state = env->GetStringUTFChars(js_state, 0);
138
139   TRACE_host_variable_set(host, state, value);
140
141   env->ReleaseStringUTFChars(js_host, host);
142   env->ReleaseStringUTFChars(js_state, state);
143 }
144
145 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableDeclare (JNIEnv *env, jclass cls, jstring jvar) {
146   const char *variable = env->GetStringUTFChars(jvar, 0);
147   TRACE_link_variable_declare (variable);
148   env->ReleaseStringUTFChars(jvar, variable);
149 }
150 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableDeclareWithColor (JNIEnv *env, jclass cls, jstring jvar, jstring jcolor) {
151   const char *variable = env->GetStringUTFChars(jvar, 0);
152   const char *color = env->GetStringUTFChars(jcolor, 0);
153   TRACE_link_variable_declare_with_color(variable,color);
154   env->ReleaseStringUTFChars(jvar, variable);
155   env->ReleaseStringUTFChars(jcolor, color);
156 }
157 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableSet (JNIEnv *env, jclass cls, jstring jlink, jstring jvar, jdouble jvalue) {
158   const char *link = env->GetStringUTFChars(jlink, 0);
159   const char *variable = env->GetStringUTFChars(jvar, 0);
160   TRACE_link_variable_set(link, variable, jvalue);
161   env->ReleaseStringUTFChars(jlink, link);
162   env->ReleaseStringUTFChars(jvar, variable);
163 }
164 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableSet
165   (JNIEnv *env, jclass cls, jstring jsrc, jstring jdst, jstring jvar, jdouble jval)
166 {
167   const char *src = env->GetStringUTFChars(jsrc, 0);
168   const char *dst = env->GetStringUTFChars(jdst, 0);
169   const char *variable = env->GetStringUTFChars(jvar, 0);
170   TRACE_link_srcdst_variable_set(src,dst,variable, jval);
171   env->ReleaseStringUTFChars(jsrc, src);
172   env->ReleaseStringUTFChars(jdst, dst);
173   env->ReleaseStringUTFChars(jvar, variable);
174 }
175 /* Missing calls
176    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableAdd(JNIEnv *, jclass, jstring, jstring, jdouble)
177    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableSub(JNIEnv *env, jclass cls, jstring, jstring,
178                                                                        jdouble)
179    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableSetWithTime(JNIEnv *, jclass, jdouble, jstring,
180                                                                                jstring, jdouble)
181    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableAddWithTime(JNIEnv *, jclass, jdouble, jstring,
182                                                                                jstring, jdouble)
183    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableSubWithTime(JNIEnv *, jclass, jdouble, jstring,
184                                                                                jstring, jdouble)
185    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableAdd(JNIEnv *, jclass, jstring, jstring,
186                                                                              jstring, jdouble)
187    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableSub(JNIEnv *, jclass, jstring, jstring,
188                                                                              jstring, jdouble)
189    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableSetWithTime(JNIEnv *env, jclass cls, jdouble,
190                                                                                      jstring, jstring, jstring, jdouble)
191    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcdstVariableAddWithTime(JNIEnv *env, jclass cls, jdouble,
192                                                                                      jstring, jstring, jstring, jdouble)
193    JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableSubWithTime(JNIEnv *env, jclass cls, jdouble,
194                                                                                      jstring, jstring, jstring, jdouble)
195 */