Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
routing: change an enum to a class enum
authorMartin Quinson <martin.quinson@loria.fr>
Sat, 26 Mar 2016 15:01:26 +0000 (16:01 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Sat, 26 Mar 2016 15:01:26 +0000 (16:01 +0100)
src/include/surf/surf.h
src/surf/sg_platf.cpp
src/surf/surf_routing.hpp

index fa33de3..a0d49ea 100644 (file)
@@ -33,12 +33,6 @@ extern XBT_PRIVATE double sg_weight_S_parameter;
 extern XBT_PRIVATE int sg_network_crosstraffic;
 extern XBT_PRIVATE xbt_dynar_t surf_path;
 
-typedef enum {
-  SURF_NETWORK_ELEMENT_HOST=1,     /* host type */
-  SURF_NETWORK_ELEMENT_ROUTER,   /* router type */
-  SURF_NETWORK_ELEMENT_AS        /* AS type */
-} e_surf_network_element_type_t;
-
 #ifdef __cplusplus
 
 namespace simgrid {
index ea7814c..5fcea65 100644 (file)
@@ -80,7 +80,7 @@ void sg_platf_new_host(sg_platf_host_cbarg_t host)
     current_routing->hierarchy_ = simgrid::surf::AsImpl::RoutingMode::base;
 
   simgrid::surf::NetCard *netcard =
-      new simgrid::surf::NetCardImpl(host->id, SURF_NETWORK_ELEMENT_HOST, current_routing);
+      new simgrid::surf::NetCardImpl(host->id, simgrid::surf::NetCard::Type::Host, current_routing);
 
   sg_host_t h = simgrid::s4u::Host::by_name_or_create(host->id);
   h->pimpl_netcard = netcard;
@@ -139,7 +139,7 @@ void sg_platf_new_router(sg_platf_router_cbarg_t router)
              "Refusing to create a router named '%s': this name already describes a node.", router->id);
 
   simgrid::surf::NetCard *netcard =
-    new simgrid::surf::NetCardImpl(router->id, SURF_NETWORK_ELEMENT_ROUTER, current_routing);
+    new simgrid::surf::NetCardImpl(router->id, simgrid::surf::NetCard::Type::Router, current_routing);
   xbt_lib_set(as_router_lib, router->id, ROUTING_ASR_LEVEL, (void *) netcard);
   XBT_DEBUG("Having set name '%s' id '%d'", router->id, netcard->id());
 
@@ -919,7 +919,7 @@ void sg_platf_new_AS_begin(sg_platf_AS_cbarg_t AS)
   }
 
   /* make a new routing component */
-  simgrid::surf::NetCard *netcard = new simgrid::surf::NetCardImpl(new_as->name(), SURF_NETWORK_ELEMENT_AS, current_routing);
+  simgrid::surf::NetCard *netcard = new simgrid::surf::NetCardImpl(new_as->name(), simgrid::surf::NetCard::Type::As, current_routing);
 
   if (current_routing == NULL && routing_platf->root_ == NULL) { /* it is the first one */
     routing_platf->root_ = new_as;
index ccbb7d6..bf34da1 100644 (file)
@@ -51,11 +51,14 @@ public:
   virtual bool isAS()=0;
   virtual bool isHost()=0;
   virtual bool isRouter()=0;
+  enum class Type {
+    Host, Router, As
+  };
 };
 
 struct XBT_PRIVATE NetCardImpl : public NetCard {
 public:
-  NetCardImpl(const char *name, e_surf_network_element_type_t componentType, AsImpl *containingAS)
+  NetCardImpl(const char *name, NetCard::Type componentType, AsImpl *containingAS)
   : name_(xbt_strdup(name)),
     componentType_(componentType),
     containingAS_(containingAS)
@@ -70,14 +73,14 @@ public:
   char *name()       override {return name_;}
   AsImpl *containingAS() override {return containingAS_;}
 
-  bool isAS()        override {return componentType_ == SURF_NETWORK_ELEMENT_AS;}
-  bool isHost()      override {return componentType_ == SURF_NETWORK_ELEMENT_HOST;}
-  bool isRouter()    override {return componentType_ == SURF_NETWORK_ELEMENT_ROUTER;}
+  bool isAS()        override {return componentType_ == Type::As;}
+  bool isHost()      override {return componentType_ == Type::Host;}
+  bool isRouter()    override {return componentType_ == Type::Router;}
 
 private:
   int id_ = -1;
   char *name_;
-  e_surf_network_element_type_t componentType_;
+  NetCard::Type componentType_;
   AsImpl *containingAS_;
 };