Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[trace] new static function to declare a new link type (checking if it already exists)
[simgrid.git] / src / instr / instr_routing.c
index 450dca9..d2ae63e 100644 (file)
@@ -36,6 +36,7 @@ static void instr_routing_parse_start_host (void);
 static void instr_routing_parse_end_host (void);
 static void instr_routing_parse_start_router (void);
 static void instr_routing_parse_end_router (void);
+static void instr_routing_parse_end_platform (void);
 static char *instr_AS_type (int level);
 
 static char *instr_AS_type (int level)
@@ -72,6 +73,15 @@ static void newVariableType (const char *type, const char *parentType, const cha
   }
 }
 
+static void newLinkType (const char *type, const char *parentType, const char *sourceType, const char *destType, const char *name)
+{
+  char *defined = xbt_dict_get_or_null (defined_types, type);
+  if (!defined){
+    pajeDefineLinkType(type, parentType, sourceType, destType, name);
+    xbt_dict_set(defined_types, type, xbt_strdup("1"), xbt_free);
+  }
+}
+
 void instr_routing_define_callbacks ()
 {
   if (!TRACE_is_active())
@@ -84,6 +94,7 @@ void instr_routing_define_callbacks ()
   surfxml_add_callback(ETag_surfxml_host_cb_list, &instr_routing_parse_end_host);
   surfxml_add_callback(STag_surfxml_router_cb_list, &instr_routing_parse_start_router);
   surfxml_add_callback(ETag_surfxml_router_cb_list, &instr_routing_parse_end_router);
+  surfxml_add_callback(ETag_surfxml_platform_cb_list, &instr_routing_parse_end_platform);
 }
 
 
@@ -243,6 +254,11 @@ static void instr_routing_parse_end_router ()
 {
 }
 
+static void instr_routing_parse_end_platform ()
+{
+  currentContainer = NULL;
+}
+
 /*
  * Support functions
  */