Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Cosmetics: rename host::on to host::turnOn
[simgrid.git] / include / simgrid / Host.hpp
index 2810c16..42fa5ec 100644 (file)
 #include <vector>
 
 #include <xbt/base.h>
+#include <xbt/dict.h>
+#include <xbt/swag.h>
 #include <xbt/string.hpp>
 #include <xbt/Extendable.hpp>
 
+#include <simgrid/datatypes.h>
+
 namespace simgrid {
 
 XBT_PUBLIC_CLASS Host :
 public simgrid::xbt::Extendable<Host> {
 
 public:
-         surf::Cpu     *p_cpu = nullptr;
-         surf::NetCard *p_netcard = nullptr;
+       double getSpeed();
+       int getCoreAmount();
 
+       /* FIXME: these should be protected, but it leads to many errors */
+       surf::Cpu     *p_cpu = nullptr;
+       surf::NetCard *p_netcard = nullptr;
 private:
   simgrid::xbt::string name_ = "noname";
 public:
   Host(std::string const& name);
   ~Host();
   simgrid::xbt::string const& getName() const { return name_; }
+  void turnOn();
+  void turnOff();
+  bool isOn();
+  bool isOff();
+  xbt_dict_t getProperties();
+  xbt_swag_t getProcessList();
+  double getCurrentPowerPeak();
+  double getPowerPeakAt(int pstate_index);
+  void setPstate(int pstate_index);
+  double getWattMinAt(int pstate);
+  double getWattMaxAt(int pstate);
+  void getParams(vm_params_t params);
+  void setParams(vm_params_t params);
+  xbt_dict_t getMountedStorageList();
+  xbt_dynar_t getAttachedStorageList();
+
   static Host* by_name_or_null(const char* name);
   static Host* by_name_or_create(const char* name);
 };