1 /* Java bindings of the Trace API. */
3 /* Copyright (c) 2012-2022. 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 "jxbt_utilities.hpp"
10 #include "simgrid/instr.h"
12 /* Shut up some errors in eclipse online compiler. I wish such a pimple wouldn't be needed */
19 /* end of eclipse-mandated pimple */
21 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostStateDeclare(JNIEnv * env, jclass cls, jstring js)
23 jstring_wrapper s(env, js);
24 TRACE_host_state_declare(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 jstring_wrapper state(env, js_state);
31 jstring_wrapper value(env, js_value);
32 jstring_wrapper color(env, js_color);
34 TRACE_host_state_declare_value(state, value, color);
37 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostSetState (JNIEnv *env, jclass cls, jstring js_host,
38 jstring js_state, jstring js_value)
40 jstring_wrapper host(env, js_host);
41 jstring_wrapper state(env, js_state);
42 jstring_wrapper value(env, js_value);
44 TRACE_host_set_state(host, state, value);
47 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostPushState (JNIEnv *env, jclass cls, jstring js_host,
48 jstring js_state, jstring js_value)
50 jstring_wrapper host(env, js_host);
51 jstring_wrapper state(env, js_state);
52 jstring_wrapper value(env, js_value);
54 TRACE_host_push_state(host, state, value);
57 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostPopState (JNIEnv *env, jclass cls, jstring js_host,
60 jstring_wrapper host(env, js_host);
61 jstring_wrapper state(env, js_state);
63 TRACE_host_pop_state(host, state);
66 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableDeclare(JNIEnv* env, jclass cls, jstring js_variable)
68 jstring_wrapper variable(env, js_variable);
69 simgrid::instr::declare_host_variable(variable);
72 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableSet(JNIEnv* env, jclass cls, jstring js_host,
73 jstring js_variable, jdouble value)
75 jstring_wrapper host(env, js_host);
76 jstring_wrapper variable(env, js_variable);
78 simgrid::instr::set_host_variable(host, variable, value);
81 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableAdd(JNIEnv* env, jclass cls, jstring js_host,
82 jstring js_variable, jdouble value)
84 jstring_wrapper host(env, js_host);
85 jstring_wrapper variable(env, js_variable);
87 simgrid::instr::add_host_variable(host, variable, value);
90 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableSub(JNIEnv* env, jclass cls, jstring js_host,
91 jstring js_variable, jdouble value)
93 jstring_wrapper host(env, js_host);
94 jstring_wrapper variable(env, js_variable);
96 simgrid::instr::sub_host_variable(host, variable, value);
99 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_vmVariableDeclare(JNIEnv* env, jclass cls, jstring js_variable)
101 jstring_wrapper variable(env, js_variable);
102 simgrid::instr::declare_vm_variable(variable);
105 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_vmVariableSet(JNIEnv* env, jclass cls, jstring js_vm,
106 jstring js_variable, jdouble value)
108 jstring_wrapper vm(env, js_vm);
109 jstring_wrapper variable(env, js_variable);
111 simgrid::instr::set_vm_variable(vm, variable, value);
114 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableDeclare (JNIEnv *env, jclass cls, jstring jvar) {
115 jstring_wrapper variable(env, jvar);
116 simgrid::instr::declare_link_variable(variable);
119 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableDeclareWithColor (JNIEnv *env, jclass cls, jstring jvar, jstring jcolor) {
120 jstring_wrapper variable(env, jvar);
121 jstring_wrapper color(env, jcolor);
122 simgrid::instr::declare_link_variable(variable, color);
125 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkVariableSet (JNIEnv *env, jclass cls, jstring jlink, jstring jvar, jdouble jvalue) {
126 jstring_wrapper link(env, jlink);
127 jstring_wrapper variable(env, jvar);
128 simgrid::instr::set_link_variable(link, variable, jvalue);
131 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableSet
132 (JNIEnv *env, jclass cls, jstring jsrc, jstring jdst, jstring jvar, jdouble jval)
134 jstring_wrapper src(env, jsrc);
135 jstring_wrapper dst(env, jdst);
137 jstring_wrapper variable(env, jvar);
138 simgrid::instr::set_link_variable(src, dst, variable, jval);