Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
normalize s_type class
[simgrid.git] / src / instr / instr_paje_containers.cpp
index 7a98c74..a76ed9a 100644 (file)
@@ -14,8 +14,8 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY (instr_paje_containers, instr, "Paje tracing eve
 
 static container_t rootContainer = nullptr;    /* the root container */
 static xbt_dict_t allContainers = nullptr;     /* all created containers indexed by name */
-xbt_dict_t trivaNodeTypes = nullptr;     /* all host types defined */
-xbt_dict_t trivaEdgeTypes = nullptr;     /* all link types defined */
+std::set<std::string> trivaNodeTypes;           /* all host types defined */
+std::set<std::string> trivaEdgeTypes;           /* all link types defined */
 
 long long int instr_new_paje_id ()
 {
@@ -26,15 +26,11 @@ long long int instr_new_paje_id ()
 void PJ_container_alloc ()
 {
   allContainers = xbt_dict_new_homogeneous(nullptr);
-  trivaNodeTypes = xbt_dict_new_homogeneous(xbt_free_f);
-  trivaEdgeTypes = xbt_dict_new_homogeneous(xbt_free_f);
 }
 
 void PJ_container_release ()
 {
   xbt_dict_free (&allContainers);
-  xbt_dict_free (&trivaNodeTypes);
-  xbt_dict_free (&trivaEdgeTypes);
 }
 
 void PJ_container_set_root (container_t root)
@@ -53,7 +49,7 @@ container_t PJ_container_new (const char *name, e_container_types kind, containe
   snprintf (id_str, INSTR_DEFAULT_STR_SIZE, "%lld", container_id);
   container_id++;
 
-  container_t newContainer = xbt_new0(s_container_t, 1);
+  container_t newContainer = xbt_new0(s_container, 1);
   newContainer->name = xbt_strdup (name); // name of the container
   newContainer->id = xbt_strdup (id_str); // id (or alias) of the container
   newContainer->father = father;
@@ -66,11 +62,11 @@ container_t PJ_container_new (const char *name, e_container_types kind, containe
       xbt_assert(newContainer->netpoint, "Element '%s' not found", name);
       break;
     case INSTR_ROUTER:
-      newContainer->netpoint = simgrid::s4u::Engine::instance()->netpointByNameOrNull(name);
+      newContainer->netpoint = simgrid::s4u::Engine::getInstance()->getNetpointByNameOrNull(name);
       xbt_assert(newContainer->netpoint, "Element '%s' not found", name);
       break;
     case INSTR_AS:
-      newContainer->netpoint = simgrid::s4u::Engine::instance()->netpointByNameOrNull(name);
+      newContainer->netpoint = simgrid::s4u::Engine::getInstance()->getNetpointByNameOrNull(name);
       xbt_assert(newContainer->netpoint, "Element '%s' not found", name);
       break;
     default:
@@ -92,12 +88,12 @@ container_t PJ_container_new (const char *name, e_container_types kind, containe
     char as_typename[INSTR_DEFAULT_STR_SIZE];
     snprintf (as_typename, INSTR_DEFAULT_STR_SIZE, "L%d", newContainer->level);
     if (newContainer->father){
-      newContainer->type = PJ_type_get_or_null (as_typename, newContainer->father->type);
+      newContainer->type = s_type::getOrNull (as_typename, newContainer->father->type);
       if (newContainer->type == nullptr){
-        newContainer->type = PJ_type_container_new (as_typename, newContainer->father->type);
+        newContainer->type = s_type::containerNew (as_typename, newContainer->father->type);
       }
     }else{
-      newContainer->type = PJ_type_container_new ("0", nullptr);
+      newContainer->type = s_type::containerNew ("0", nullptr);
     }
   }else{
     //otherwise, the name is its kind
@@ -128,9 +124,9 @@ container_t PJ_container_new (const char *name, e_container_types kind, containe
         THROWF (tracing_error, 0, "new container kind is unknown.");
         break;
     }
-    type_t type = PJ_type_get_or_null (typeNameBuff, newContainer->father->type);
+    type_t type = s_type::getOrNull (typeNameBuff, newContainer->father->type);
     if (type == nullptr){
-      newContainer->type = PJ_type_container_new (typeNameBuff, newContainer->father->type);
+      newContainer->type = s_type::containerNew (typeNameBuff, newContainer->father->type);
     }else{
       newContainer->type = type;
     }
@@ -138,7 +134,7 @@ container_t PJ_container_new (const char *name, e_container_types kind, containe
   newContainer->children = xbt_dict_new_homogeneous(nullptr);
   if (newContainer->father){
     xbt_dict_set(newContainer->father->children, newContainer->name, newContainer, nullptr);
-    new_pajeCreateContainer (newContainer);
+    LogContainerCreation(newContainer);
   }
 
   //register all kinds by name
@@ -151,7 +147,7 @@ container_t PJ_container_new (const char *name, e_container_types kind, containe
 
   //register NODE types for triva configuration
   if (newContainer->kind == INSTR_HOST || newContainer->kind == INSTR_LINK || newContainer->kind == INSTR_ROUTER) {
-    xbt_dict_set (trivaNodeTypes, newContainer->type->name, xbt_strdup("1"), nullptr);
+    trivaNodeTypes.insert(newContainer->type->name);
   }
   return newContainer;
 }
@@ -203,10 +199,10 @@ void PJ_container_free (container_t container)
   TRACE_paje_dump_buffer(1);
 
   //trace my destruction
-  if (!TRACE_disable_destroy() && container != PJ_container_get_root()){
+  if (not TRACE_disable_destroy() && container != PJ_container_get_root()) {
     //do not trace the container destruction if user requests
     //or if the container is root
-    new_pajeDestroyContainer(container);
+    LogContainerDestruction(container);
   }
 
   //remove it from allContainers data structure
@@ -245,7 +241,7 @@ void PJ_container_free_all ()
   rootContainer = nullptr;
 
   //checks
-  if (!xbt_dict_is_empty(allContainers)){
+  if (not xbt_dict_is_empty(allContainers)) {
     THROWF(tracing_error, 0, "some containers still present even after destroying all of them");
   }
 }