Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
finish the cleanup of the netcard list container
[simgrid.git] / src / kernel / routing / NetCard.hpp
index a85531f..42c9ceb 100644 (file)
@@ -27,35 +27,31 @@ namespace routing {
 class NetCard : public simgrid::xbt::Extendable<NetCard> {
 
 public:
-  enum class Type { Host, Router, As };
+  enum class Type { Host, Router, NetZone };
 
-  NetCard(std::string name, NetCard::Type componentType, NetZoneImpl* containingAS)
-      : name_(name), componentType_(componentType), containingAS_(containingAS)
-  {
-    if (containingAS != nullptr)
-      id_ = containingAS->addComponent(this);
-    simgrid::kernel::routing::NetCard::onCreation(this);
-  }
+  NetCard(std::string name, NetCard::Type componentType, NetZoneImpl* netzone_p);
   ~NetCard() = default;
 
   // Our rank in the vertices_ array of our containing AS.
   unsigned int id() { return id_; }
   std::string name() { return name_; }
   const char* cname() { return name_.c_str(); }
-  // This is the AS in which I am
-  NetZoneImpl* containingAS() { return containingAS_; }
+  /** @brief the NetZone in which this netcard is included */
+  NetZoneImpl* netzone() { return netzone_; }
 
-  bool isAS() { return componentType_ == Type::As; }
+  bool isNetZone() { return componentType_ == Type::NetZone; }
   bool isHost() { return componentType_ == Type::Host; }
   bool isRouter() { return componentType_ == Type::Router; }
 
   static simgrid::xbt::signal<void(NetCard*)> onCreation;
 
+  bool operator<(const NetCard &rhs) const { return name_ < rhs.name_; }
+
 private:
   unsigned int id_;
   std::string name_;
   NetCard::Type componentType_;
-  NetZoneImpl* containingAS_;
+  NetZoneImpl* netzone_;
 };
 }
 }