-/*
- * JNI interface to C code for MSG.
- *
- * Copyright 2006-2012 The SimGrid Team.
- * All right reserved.
- *
- * This program is free software; you can redistribute
- * it and/or modify it under the terms of the license
- * (GNU LGPL) which comes with this package.
- */
+/* JNI interface to C code for MSG. */
+
+/* Copyright (c) 2006-2014. The SimGrid Team.
+ * All rights reserved. */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
package org.simgrid.msg;
return;
try {
/* prefer the version on disk, if existing */
- System.loadLibrary("SG_java");
+ System.loadLibrary("simgrid-java");
} catch (UnsatisfiedLinkError e) {
/* If not found, unpack the one bundled into the jar file and use it */
loadLib("simgrid");
- loadLib("SG_java");
+ loadLib("simgrid-java");
}
isNativeInited = true;
}
nativeInit();
}
private static void loadLib (String name) {
- String Path = "NATIVE/"+System.getProperty("os.name")+"/"+System.getProperty("os.arch")+"/";
+ String Os = System.getProperty("os.name");
+ String Arch = System.getProperty("os.arch");
+ // Some OS/Arch may be different between Java and Cmake,
+ // which generated the path
+ if (Os.toLowerCase().startsWith("win"))
+ Os = "Windows";
+ else if (Os.contains("OS X"))
+ Os = "Darwin";
+ if (Arch.equalsIgnoreCase("x86"))
+ Arch = "i386";
+ else if (Arch.equalsIgnoreCase("x86_64"))
+ Arch = "amd64";
+ String Path = "NATIVE/" + Os + "/" + Arch + "/";
+
String filename=name;
InputStream in = Msg.class.getClassLoader().getResourceAsStream(Path+filename);
}
/** Retrieve the simulation time
- * @return
+ * @return The simulation time.
*/
public final static native double getClock();
/**
* The natively implemented method to initialize a MSG simulation.
*
* @param args The arguments of the command line of the simulation.
- *
- * @see Msg.init()
*/
public final static native void init(String[]args);
* {@link #clean()} if you really insist on cleaning the C side), so you can freely
* retrieve the informations that you want from the simulation. In particular, retrieving the status
* of a process or the current date is perfectly ok.
- *
- * @see MSG_run
*/
public final static native void run() ;
*/
public final static native void createEnvironment(String platformFile);
+ public final static native As environmentGetRoutingRoot();
+
/**
* The method to deploy the simulation.
*