1 /* Java bindings of the Trace API. */
3 /* Copyright (c) 2012-2020. The SimGrid Team. All rights reserved. */
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. */
9 #include "simgrid/instr.h"
11 /* Shut up some errors in eclipse online compiler. I wish such a pimple wouldn't be needed */
18 /* end of eclipse-mandated pimple */
20 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostStateDeclare(JNIEnv * env, jclass cls, jstring js)
22 const char *s = env->GetStringUTFChars(js, 0);
23 TRACE_host_state_declare(s);
24 env->ReleaseStringUTFChars(js, s);
27 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostStateDeclareValue (JNIEnv *env, jclass cls, jstring js_state,
28 jstring js_value, jstring js_color)
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);
34 TRACE_host_state_declare_value(state, value, color);
36 env->ReleaseStringUTFChars(js_state, state);
37 env->ReleaseStringUTFChars(js_value, value);
38 env->ReleaseStringUTFChars(js_color, color);
41 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostSetState (JNIEnv *env, jclass cls, jstring js_host,
42 jstring js_state, jstring js_value)
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);
48 TRACE_host_set_state(host, state, value);
50 env->ReleaseStringUTFChars(js_host, host);
51 env->ReleaseStringUTFChars(js_state, state);
52 env->ReleaseStringUTFChars(js_value, value);
55 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostPushState (JNIEnv *env, jclass cls, jstring js_host,
56 jstring js_state, jstring js_value)
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);
62 TRACE_host_push_state(host, state, value);
64 env->ReleaseStringUTFChars(js_host, host);
65 env->ReleaseStringUTFChars(js_state, state);
66 env->ReleaseStringUTFChars(js_value, value);
69 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostPopState (JNIEnv *env, jclass cls, jstring js_host,
72 const char *host = env->GetStringUTFChars(js_host, 0);
73 const char *state = env->GetStringUTFChars(js_state, 0);
75 TRACE_host_pop_state(host, state);
77 env->ReleaseStringUTFChars(js_host, host);
78 env->ReleaseStringUTFChars(js_state, state);
81 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableDeclare (JNIEnv *env, jclass cls, jstring js_state)
83 const char *state = env->GetStringUTFChars(js_state, 0);
84 TRACE_host_variable_declare(state);
85 env->ReleaseStringUTFChars(js_state, state);
88 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableSet (JNIEnv *env, jclass cls, jstring js_host,
89 jstring js_state, jdouble value)
91 const char *host = env->GetStringUTFChars(js_host, 0);
92 const char *state = env->GetStringUTFChars(js_state, 0);
94 TRACE_host_variable_set(host, state, value);
96 env->ReleaseStringUTFChars(js_host, host);
97 env->ReleaseStringUTFChars(js_state, state);
100 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableSub (JNIEnv *env, jclass cls, jstring js_host,
101 jstring js_state, jdouble value)
103 const char *host = env->GetStringUTFChars(js_host, 0);
104 const char *state = env->GetStringUTFChars(js_state, 0);
106 TRACE_host_variable_sub(host, state, value);
108 env->ReleaseStringUTFChars(js_host, host);
109 env->ReleaseStringUTFChars(js_state, state);
112 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_vmVariableDeclare (JNIEnv *env, jclass cls, jstring js_state)
114 const char *state = env->GetStringUTFChars(js_state, 0);
116 TRACE_vm_variable_declare(state);
118 env->ReleaseStringUTFChars(js_state, state);
121 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_vmVariableSet (JNIEnv *env, jclass cls, jstring js_vm,
122 jstring js_state, jdouble value)
124 const char *vm = env->GetStringUTFChars(js_vm, 0);
125 const char *state = env->GetStringUTFChars(js_state, 0);
127 TRACE_vm_variable_set(vm, state, value);
129 env->ReleaseStringUTFChars(js_vm, vm);
130 env->ReleaseStringUTFChars(js_state, state);
133 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableAdd (JNIEnv *env, jclass cls, jstring js_host,
134 jstring js_state, jdouble value)
136 const char *host = env->GetStringUTFChars(js_host, 0);
137 const char *state = env->GetStringUTFChars(js_state, 0);
139 TRACE_host_variable_set(host, state, value);
141 env->ReleaseStringUTFChars(js_host, host);
142 env->ReleaseStringUTFChars(js_state, state);
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);
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);
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);
164 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableSet
165 (JNIEnv *env, jclass cls, jstring jsrc, jstring jdst, jstring jvar, jdouble jval)
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);
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,
179 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableSetWithTime(JNIEnv *, jclass, jdouble, jstring,
181 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableAddWithTime(JNIEnv *, jclass, jdouble, jstring,
183 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableSubWithTime(JNIEnv *, jclass, jdouble, jstring,
185 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableAdd(JNIEnv *, jclass, jstring, jstring,
187 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableSub(JNIEnv *, jclass, jstring, jstring,
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)