Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'fix_bindings_mistakenly_set_as_member_functions' into 'master'
[simgrid.git] / src / bindings / java / jtrace.cpp
1 /* Java bindings of the Trace API.                                          */
2
3 /* Copyright (c) 2012-2022. 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 "jxbt_utilities.hpp"
10 #include "simgrid/instr.h"
11
12 /* Shut up some errors in eclipse online compiler. I wish such a pimple wouldn't be needed */
13 #ifndef JNIEXPORT
14 #define JNIEXPORT
15 #endif
16 #ifndef JNICALL
17 #define JNICALL
18 #endif
19 /* end of eclipse-mandated pimple */
20
21 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostStateDeclare(JNIEnv * env, jclass cls, jstring js)
22 {
23   jstring_wrapper s(env, js);
24   TRACE_host_state_declare(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   jstring_wrapper state(env, js_state);
31   jstring_wrapper value(env, js_value);
32   jstring_wrapper color(env, js_color);
33
34   TRACE_host_state_declare_value(state, value, color);
35 }
36
37 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostSetState (JNIEnv *env, jclass cls, jstring js_host,
38                                                                   jstring js_state, jstring js_value)
39 {
40   jstring_wrapper host(env, js_host);
41   jstring_wrapper state(env, js_state);
42   jstring_wrapper value(env, js_value);
43
44   TRACE_host_set_state(host, state, value);
45 }
46
47 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostPushState (JNIEnv *env, jclass cls, jstring js_host,
48                                                                    jstring js_state, jstring js_value)
49 {
50   jstring_wrapper host(env, js_host);
51   jstring_wrapper state(env, js_state);
52   jstring_wrapper value(env, js_value);
53
54   TRACE_host_push_state(host, state, value);
55 }
56
57 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostPopState (JNIEnv *env, jclass cls, jstring js_host,
58                                                                   jstring js_state)
59 {
60   jstring_wrapper host(env, js_host);
61   jstring_wrapper state(env, js_state);
62
63   TRACE_host_pop_state(host, state);
64 }
65
66 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableDeclare(JNIEnv* env, jclass cls, jstring js_variable)
67 {
68   jstring_wrapper variable(env, js_variable);
69   simgrid::instr::declare_host_variable(variable);
70 }
71
72 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableSet(JNIEnv* env, jclass cls, jstring js_host,
73                                                                     jstring js_variable, jdouble value)
74 {
75   jstring_wrapper host(env, js_host);
76   jstring_wrapper variable(env, js_variable);
77
78   simgrid::instr::set_host_variable(host, variable, value);
79 }
80
81 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableAdd(JNIEnv* env, jclass cls, jstring js_host,
82                                                                     jstring js_variable, jdouble value)
83 {
84   jstring_wrapper host(env, js_host);
85   jstring_wrapper variable(env, js_variable);
86
87   simgrid::instr::add_host_variable(host, variable, value);
88 }
89
90 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_hostVariableSub(JNIEnv* env, jclass cls, jstring js_host,
91                                                                     jstring js_variable, jdouble value)
92 {
93   jstring_wrapper host(env, js_host);
94   jstring_wrapper variable(env, js_variable);
95
96   simgrid::instr::sub_host_variable(host, variable, value);
97 }
98
99 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_vmVariableDeclare(JNIEnv* env, jclass cls, jstring js_variable)
100 {
101   jstring_wrapper variable(env, js_variable);
102   simgrid::instr::declare_vm_variable(variable);
103 }
104
105 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_vmVariableSet(JNIEnv* env, jclass cls, jstring js_vm,
106                                                                   jstring js_variable, jdouble value)
107 {
108   jstring_wrapper vm(env, js_vm);
109   jstring_wrapper variable(env, js_variable);
110
111   simgrid::instr::set_vm_variable(vm, variable, value);
112 }
113
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);
117 }
118
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);
123 }
124
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);
129 }
130
131 JNIEXPORT void JNICALL Java_org_simgrid_trace_Trace_linkSrcDstVariableSet
132   (JNIEnv *env, jclass cls, jstring jsrc, jstring jdst, jstring jvar, jdouble jval)
133 {
134   jstring_wrapper src(env, jsrc);
135   jstring_wrapper dst(env, jdst);
136
137   jstring_wrapper variable(env, jvar);
138   simgrid::instr::set_link_variable(src, dst, variable, jval);
139 }