X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/eb5b6b0c3c4d9a38bb205b2c8bc9aeeba8674a25..f3e4803befab19389587dd1d9af5ecdeffec551e:/src/bindings/java/surf.i diff --git a/src/bindings/java/surf.i b/src/bindings/java/surf.i index 1c61df50a5..7e0c774a9c 100644 --- a/src/bindings/java/surf.i +++ b/src/bindings/java/surf.i @@ -16,6 +16,7 @@ import org.simgrid.NativeLib; %} %pragma(java) jniclasscode=%{ static { + NativeLib.nativeInit("simgrid"); NativeLib.nativeInit("surf-java"); Runtime.getRuntime().addShutdownHook( new Thread() { @@ -98,7 +99,7 @@ GETDIRECTOR(CpuAction) %typemap(freearg) char* name { } -/* Handle xbt_dynar_t of NetworkLink */ +/* Handle xbt_dynar_t of Link */ JAVA_ARRAYSOFCLASSES(Action); %apply Action[] {ActionArrayPtr}; %typemap(jstype) ActionArrayPtr "Action[]" @@ -120,7 +121,7 @@ JAVA_ARRAYSOFCLASSES(Action); jlong *elts = jenv->GetLongArrayElements($result, NULL); l = 0; for(ActionList::iterator it($1->begin()), itend($1->end()); it != itend ; ++it) { - elts[l++] = (jlong)static_cast(&*it); + elts[l++] = (jlong)static_cast(&*it); } jenv->ReleaseLongArrayElements($result, elts, 0); } @@ -136,19 +137,19 @@ public: } }; -/* Handle xbt_dynar_t of NetworkLink */ -JAVA_ARRAYSOFCLASSES(NetworkLink); -%apply NetworkLink[] {NetworkLinkDynar}; -%typemap(jstype) NetworkLinkDynar "NetworkLink[]" -%typemap(javain) NetworkLinkDynar "NetworkLink.cArrayUnwrap($javainput)" -%typemap(javaout) NetworkLinkDynar { - return NetworkLink.cArrayWrap($jnicall, $owner); +/* Handle xbt_dynar_t of Link */ +JAVA_ARRAYSOFCLASSES(Link); +%apply Link[] {LinkDynar}; +%typemap(jstype) LinkDynar "Link[]" +%typemap(javain) LinkDynar "Link.cArrayUnwrap($javainput)" +%typemap(javaout) LinkDynar { + return Link.cArrayWrap($jnicall, $owner); } -%typemap(out) NetworkLinkDynar { +%typemap(out) LinkDynar { long l = xbt_dynar_length($1); $result = jenv->NewLongArray(l); unsigned i; - NetworkLink *link; + Link *link; jlong *elts = jenv->GetLongArrayElements($result, NULL); xbt_dynar_foreach($1, i, link) { elts[i] = (jlong)link; @@ -166,15 +167,15 @@ JAVA_ARRAYSOFCLASSES(NetworkLink); long l = xbt_dynar_length($1); $result = jenv->NewDoubleArray(l); double *lout = (double *)xbt_dynar_to_array($1); - jenv->SetDoubleArrayRegion($result, 0, l, (const jdouble*)lout); - free(lout); + jenv->SetDoubleArrayRegion($result, 0, l, (jdouble*)lout); + free(:); } %typemap(javadirectorin) DoubleDynar "$jniinput" %typemap(directorin,descriptor="[D") DoubleDynar %{ long l = xbt_dynar_length($1); $input = jenv->NewDoubleArray(l); double *lout = (double *)xbt_dynar_to_array($1); - jenv->SetDoubleArrayRegion($input, 0, l, (const jdouble*)lout); + jenv->SetDoubleArrayRegion($input, 0, l, (jdouble*)lout); free(lout); %} %typemap(javain) DoubleDynar "$javainput" @@ -235,8 +236,8 @@ struct tmgr_trace_event { %nodefaultctor Model; class Model { public: - Model(const char *name); - const char *getName(); + Model(); + virtual double shareResources(double now); virtual double shareResourcesLazy(double now); virtual double shareResourcesFull(double now); @@ -253,7 +254,7 @@ public: %feature("director") CpuModel; class CpuModel : public Model { public: - CpuModel(const char *name); + CpuModel(); virtual ~CpuModel(); virtual Cpu *createCpu(const char *name, DoubleDynar power_peak, int pstate, double power_scale, @@ -292,14 +293,15 @@ public: virtual double getAvailableSpeed(); virtual double getPowerPeakAt(int pstate_index)=0; virtual int getNbPstates()=0; - virtual void setPowerPeakAt(int pstate_index)=0; + virtual void setPstate(int pstate_index)=0; + virtual int getPstate()=0; void setState(e_surf_resource_state_t state); }; -class NetworkLink : public Resource { +class Link : public Resource { public: - NetworkLink(); - ~NetworkLink(); + Link(); + ~Link(); double getBandwidth(); void updateBandwidth(double value, double date=surf_get_clock()); double getLatency();