Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
move some content from AsNone into As (AsNone should die)
[simgrid.git] / src / surf / host_interface.hpp
index 236ccdb..ef36245 100644 (file)
@@ -33,6 +33,7 @@ class XBT_PRIVATE HostAction;
 /*********
  * Tools *
  *********/
+
 XBT_PUBLIC_DATA(simgrid::surf::HostModel*) surf_host_model;
 XBT_PUBLIC(void) host_add_traces();
 
@@ -76,12 +77,7 @@ class Host :
         public simgrid::surf::Resource,
         public simgrid::surf::PropertyHolder {
 public:
-  static simgrid::xbt::Extension<simgrid::Host, Host> EXTENSION_ID;
-
-  /* callbacks */
-  static simgrid::surf::signal<void(Host*)> onCreation;    /** Called on each newly created object */
-  static simgrid::surf::signal<void(Host*)> onDestruction; /** Called just before destructing an object */
-  static simgrid::surf::signal<void(Host*)> onStateChange; /** Called when the machine is turned on or off */
+  static simgrid::xbt::Extension<simgrid::s4u::Host, Host> EXTENSION_ID;
 
 public:
   static void classInit(); // must be called before the first use of that class
@@ -94,7 +90,7 @@ public:
    * @param storage The Storage associated to this Host
    * @param cpu The Cpu associated to this Host
    */
-  Host(simgrid::surf::Model *model, const char *name, xbt_dict_t props,
+  Host(HostModel *model, const char *name, xbt_dict_t props,
                      xbt_dynar_t storage, Cpu *cpu);
 
   /**
@@ -107,21 +103,19 @@ public:
    * @param storage The Storage associated to this Host
    * @param cpu The Cpu associated to this Host
    */
-  Host(simgrid::surf::Model *model, const char *name, xbt_dict_t props,
+  Host(HostModel *model, const char *name, xbt_dict_t props,
       lmm_constraint_t constraint, xbt_dynar_t storage, Cpu *cpu);
 
   /* Host destruction logic */
   /**************************/
-protected:
   ~Host();
-public:
-       void destroy(); // Must be called instead of the destructor
-private:
-       bool currentlyDestroying_ = false;
-
 
 public:
-  void attach(simgrid::Host* host);
+  HostModel *getModel()
+  {
+    return static_cast<HostModel*>(Resource::getModel());
+  }
+  void attach(simgrid::s4u::Host* host);
 
   bool isOn() override;
   bool isOff() override;
@@ -242,7 +236,7 @@ public:
 public:
   xbt_dynar_t p_storage;
   Cpu *p_cpu;
-  simgrid::Host* p_host = nullptr;
+  simgrid::s4u::Host* p_host = nullptr;
 
   /** @brief Get the list of virtual machines on the current Host */
   xbt_dynar_t getVms();
@@ -253,7 +247,7 @@ public:
   void getParams(vm_params_t params);
   /** @brief Sets the params of that VM/PM */
   void setParams(vm_params_t params);
-  simgrid::Host* getHost() { return p_host; }
+  simgrid::s4u::Host* getHost() { return p_host; }
 private:
   s_vm_params_t p_params;
 };