1 /* Java bindings of the Trace API. */
3 /* Copyright (c) 2012-2017. 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 // Define a new category
21 XBT_LOG_NEW_DEFAULT_CATEGORY (jtrace, "TRACE for Java(TM)");
25 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostStateDeclare(JNIEnv * env, jclass cls, jstring js)
27 const char *s = env->GetStringUTFChars(js, 0);
28 TRACE_host_state_declare(s);
29 env->ReleaseStringUTFChars(js, s);
32 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostStateDeclareValue (JNIEnv *env, jclass cls, jstring js_state,
33 jstring js_value, jstring js_color)
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);
39 TRACE_host_state_declare_value(state, value, color);
41 env->ReleaseStringUTFChars(js_state, state);
42 env->ReleaseStringUTFChars(js_value, value);
43 env->ReleaseStringUTFChars(js_color, color);
46 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostSetState (JNIEnv *env, jclass cls, jstring js_host,
47 jstring js_state, jstring js_value)
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);
53 TRACE_host_set_state(host, state, value);
55 env->ReleaseStringUTFChars(js_host, host);
56 env->ReleaseStringUTFChars(js_state, state);
57 env->ReleaseStringUTFChars(js_value, value);
60 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostPushState (JNIEnv *env, jclass cls, jstring js_host,
61 jstring js_state, jstring js_value)
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);
67 TRACE_host_push_state(host, state, value);
69 env->ReleaseStringUTFChars(js_host, host);
70 env->ReleaseStringUTFChars(js_state, state);
71 env->ReleaseStringUTFChars(js_value, value);
74 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostPopState (JNIEnv *env, jclass cls, jstring js_host,
77 const char *host = env->GetStringUTFChars(js_host, 0);
78 const char *state = env->GetStringUTFChars(js_state, 0);
80 TRACE_host_pop_state(host, state);
82 env->ReleaseStringUTFChars(js_host, host);
83 env->ReleaseStringUTFChars(js_state, state);
86 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableDeclare (JNIEnv *env, jclass cls, jstring js_state)
88 const char *state = env->GetStringUTFChars(js_state, 0);
89 TRACE_host_variable_declare(state);
90 env->ReleaseStringUTFChars(js_state, state);
93 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableSet (JNIEnv *env, jclass cls, jstring js_host,
94 jstring js_state, jdouble value)
96 const char *host = env->GetStringUTFChars(js_host, 0);
97 const char *state = env->GetStringUTFChars(js_state, 0);
99 TRACE_host_variable_set(host, state, value);
101 env->ReleaseStringUTFChars(js_host, host);
102 env->ReleaseStringUTFChars(js_state, state);
105 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableSub (JNIEnv *env, jclass cls, jstring js_host,
106 jstring js_state, jdouble value)
108 const char *host = env->GetStringUTFChars(js_host, 0);
109 const char *state = env->GetStringUTFChars(js_state, 0);
111 TRACE_host_variable_sub(host, state, value);
113 env->ReleaseStringUTFChars(js_host, host);
114 env->ReleaseStringUTFChars(js_state, state);
117 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_vmVariableDeclare (JNIEnv *env, jclass cls, jstring js_state)
119 const char *state = env->GetStringUTFChars(js_state, 0);
121 TRACE_vm_variable_declare(state);
123 env->ReleaseStringUTFChars(js_state, state);
126 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_vmVariableSet (JNIEnv *env, jclass cls, jstring js_vm,
127 jstring js_state, jdouble value)
129 const char *vm = env->GetStringUTFChars(js_vm, 0);
130 const char *state = env->GetStringUTFChars(js_state, 0);
132 TRACE_vm_variable_set(vm, state, value);
134 env->ReleaseStringUTFChars(js_vm, vm);
135 env->ReleaseStringUTFChars(js_state, state);
138 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableAdd (JNIEnv *env, jclass cls, jstring js_host,
139 jstring js_state, jdouble value)
141 const char *host = env->GetStringUTFChars(js_host, 0);
142 const char *state = env->GetStringUTFChars(js_state, 0);
144 TRACE_host_variable_set(host, state, value);
146 env->ReleaseStringUTFChars(js_host, host);
147 env->ReleaseStringUTFChars(js_state, state);
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);
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);
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);
169 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableSet
170 (JNIEnv *env, jclass cls, jstring jsrc, jstring jdst, jstring jvar, jdouble jval)
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);
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,
184 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableSetWithTime(JNIEnv *, jclass, jdouble, jstring,
186 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableAddWithTime(JNIEnv *, jclass, jdouble, jstring,
188 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableSubWithTime(JNIEnv *, jclass, jdouble, jstring,
190 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableAdd(JNIEnv *, jclass, jstring, jstring,
192 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableSub(JNIEnv *, jclass, jstring, jstring,
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)