2 %module(directors="1") Surf
4 %pragma(java) jniclassimports=%{
5 import org.simgrid.NativeLib;
8 %pragma(java) jniclasscode=%{
10 NativeLib.nativeInit("surf-java");
11 Runtime.getRuntime().addShutdownHook(
14 Thread.currentThread().setName( "Destroyer" );
23 #include "src/surf/cpu_interface.hpp"
24 #include "src/surf/network_interface.hpp"
25 #include "src/bindings/java/surf_swig.hpp"
26 #include "src/xbt/dict_private.h"
27 typedef struct lmm_constraint *lmm_constraint_t;
30 %feature("director") Plugin;
32 %include "src/bindings/java/surf_swig.hpp"
37 const char *getName();
43 const char *getName();
44 virtual bool isUsed()=0;
45 lmm_constraint *getConstraint();
46 s_xbt_dict *getProperties();
49 class Cpu : public Resource {
53 double getCurrentPowerPeak();
56 class NetworkLink : public Resource {
67 class CpuAction : public Action {
70 Cpu *getCpu() {return getActionCpu($self);}
74 %nodefaultctor NetworkAction;
75 class NetworkAction : public Action {
78 double getLatency() {return $self->m_latency;}
83 %rename lmm_constraint LmmConstraint;
84 struct lmm_constraint {
86 double getUsage() {return lmm_constraint_get_usage($self);}
90 %rename s_xbt_dict XbtDict;
93 char *getValue(char *key) {return (char*)xbt_dict_get_or_null($self, key);}