Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'mc' into mc++
[simgrid.git] / src / bindings / lua / lua_platf.c
index 7514c71..aa2dc2d 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010. The SimGrid Team.
+/* Copyright (c) 2010, 2012-2014. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -41,9 +41,8 @@ static const luaL_reg platf_functions[] = {
 int console_open(lua_State *L) {
   sg_platf_init();
   sg_platf_begin();
-  surf_parse_init_callbacks();
-  
-  storage_register_callbacks();  
+
+  storage_register_callbacks();
   routing_register_callbacks();
 
   gpu_register_callbacks();
@@ -93,7 +92,8 @@ int console_add_host(lua_State *L) {
   // get power value
   lua_pushstring(L, "power");
   lua_gettable(L, -2);
-  host.power_peak = lua_tonumber(L, -1);
+  host.power_peak = xbt_dynar_new(sizeof(double), NULL);
+  xbt_dynar_push_as(host.power_peak, double, lua_tonumber(L, -1));
   lua_pop(L, 1);
 
   // get core
@@ -321,7 +321,6 @@ int console_AS_open(lua_State *L) {
  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;
@@ -365,7 +364,7 @@ int console_set_function(lua_State *L) {
   //get args
   lua_pushstring(L,"args");
   lua_gettable(L, -2);
-  args = xbt_str_split_quoted( lua_tostring(L,-1) );
+  args = xbt_str_split_str( lua_tostring(L,-1) , ",");
   lua_pop(L, 1);
 
   // FIXME: hackish to go under MSG that way
@@ -375,6 +374,7 @@ int console_set_function(lua_State *L) {
     return -1;
   }
 
+  // FIXME: use sg_platf_new_process directly (warning: find a way to check hostname)
   MSG_set_function(host_id, function_id, args);
 
   return 0;