Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Some symbols were renamed by last flexml update.
[simgrid.git] / src / bindings / lua / lua_platf.c
index 89d7ef3..4625c78 100644 (file)
 #include <ctype.h>
 #include <lauxlib.h>
 
+#include <msg/msg_private.h>
+#include <simix/smx_host_private.h>
+#include <surf/surf_private.h>
+
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(lua_platf, bindings, "Lua bindings (platform module)");
 
 #define PLATF_MODULE_NAME "simgrid.platf"
@@ -106,7 +110,7 @@ int console_add_host(lua_State *L) {
   //get power_trace
   lua_pushstring(L, "power_trace");
   lua_gettable(L, -2);
-  host.power_trace = tmgr_trace_new(lua_tostring(L, -1));
+  host.power_trace = tmgr_trace_new_from_file(lua_tostring(L, -1));
   lua_pop(L, 1);
 
   //get state initial
@@ -124,7 +128,7 @@ int console_add_host(lua_State *L) {
   //get trace state
   lua_pushstring(L, "state_trace");
   lua_gettable(L, -2);
-  host.state_trace = tmgr_trace_new(lua_tostring(L, -1));
+  host.state_trace = tmgr_trace_new_from_file(lua_tostring(L, -1));
   lua_pop(L, 1);
 
   sg_platf_new_host(&host);
@@ -166,19 +170,19 @@ int  console_add_link(lua_State *L) {
   //get bandwidth_trace value
   lua_pushstring(L, "bandwidth_trace");
   lua_gettable(L, -2);
-  link.bandwidth_trace = tmgr_trace_new(lua_tostring(L, -1));
+  link.bandwidth_trace = tmgr_trace_new_from_file(lua_tostring(L, -1));
   lua_pop(L, 1);
 
   //get latency_trace value
   lua_pushstring(L, "latency_trace");
   lua_gettable(L, -2);
-  link.latency_trace = tmgr_trace_new(lua_tostring(L, -1));
+  link.latency_trace = tmgr_trace_new_from_file(lua_tostring(L, -1));
   lua_pop(L, 1);
 
   //get state_trace value
   lua_pushstring(L, "state_trace");
   lua_gettable(L, -2);
-  link.state_trace = tmgr_trace_new(lua_tostring(L, -1));
+  link.state_trace = tmgr_trace_new_from_file(lua_tostring(L, -1));
   lua_pop(L, 1);
 
   //get state_initial value
@@ -289,10 +293,10 @@ int console_add_route(lua_State *L) {
   SURFXML_START_TAG(route);
 
   xbt_dynar_foreach(links,cursor,link_id) {
-    SURFXML_BUFFER_SET(link_ctn_id, link_id);
-    A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
-    SURFXML_START_TAG(link_ctn);
-    SURFXML_END_TAG(link_ctn);
+    SURFXML_BUFFER_SET(link___ctn_id, link_id);
+    A_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_NONE;
+    SURFXML_START_TAG(link___ctn);
+    SURFXML_END_TAG(link___ctn);
   }
   SURFXML_END_TAG(route);
 
@@ -321,7 +325,21 @@ int console_AS_open(lua_State *L) {
  mode = lua_tostring(L, -1);
  lua_pop(L, 1);
 
- sg_platf_new_AS_begin(id,mode);
+ int mode_int = A_surfxml_AS_routing_None;
+ if(!strcmp(mode,"Full")) mode_int = A_surfxml_AS_routing_Full;
+ else if(!strcmp(mode,"Floyd")) mode_int = A_surfxml_AS_routing_Floyd;
+ else if(!strcmp(mode,"Dijkstra")) mode_int = A_surfxml_AS_routing_Dijkstra;
+ else if(!strcmp(mode,"DijkstraCache")) mode_int = A_surfxml_AS_routing_DijkstraCache;
+ else if(!strcmp(mode,"RuleBased")) mode_int = A_surfxml_AS_routing_RuleBased;
+ else if(!strcmp(mode,"Vivaldi")) mode_int = A_surfxml_AS_routing_Vivaldi;
+ else if(!strcmp(mode,"Cluster")) mode_int = A_surfxml_AS_routing_Cluster;
+ else if(!strcmp(mode,"none")) mode_int = A_surfxml_AS_routing_None;
+ else xbt_die("Don't have the model name '%s'",mode);
+
+ s_sg_platf_AS_cbarg_t AS = SG_PLATF_AS_INITIALIZER;
+ AS.id = id;
+ AS.routing = mode_int;
+ sg_platf_new_AS_begin(&AS);
 
  return 0;
 }
@@ -360,7 +378,7 @@ int console_set_function(lua_State *L) {
   lua_pop(L, 1);
 
   // FIXME: hackish to go under MSG that way
-  m_host_t host = xbt_lib_get_or_null(host_lib,host_id,MSG_HOST_LEVEL);
+  msg_host_t host = xbt_lib_get_or_null(host_lib,host_id,MSG_HOST_LEVEL);
   if (!host) {
     XBT_ERROR("no host '%s' found",host_id);
     return -1;
@@ -399,7 +417,7 @@ int console_host_set_property(lua_State *L) {
   lua_pop(L, 1);
 
   // FIXME: hackish to go under MSG that way
-  m_host_t host = xbt_lib_get_or_null(host_lib,name,MSG_HOST_LEVEL);
+  msg_host_t host = xbt_lib_get_or_null(host_lib,name,MSG_HOST_LEVEL);
   if (!host) {
     XBT_ERROR("no host '%s' found",name);
     return -1;