X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/eff13e323664f224576a26b017543955b3044b05..a23283368258c196be2e66730a7d691f313ef315:/include/simgrid/Host.hpp diff --git a/include/simgrid/Host.hpp b/include/simgrid/Host.hpp index e914303e8b..42fa5ec1da 100644 --- a/include/simgrid/Host.hpp +++ b/include/simgrid/Host.hpp @@ -7,22 +7,53 @@ #ifndef SIMGRID_HOST_HPP #define SIMGRID_HOST_HPP +#include #include #include #include #include -#include +#include +#include +#include +#include + +#include namespace simgrid { -XBT_PUBLIC_CLASS Host : public simgrid::xbt::Lib { +XBT_PUBLIC_CLASS Host : +public simgrid::xbt::Extendable { + +public: + 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: - std::string id_; + simgrid::xbt::string name_ = "noname"; public: - Host(std::string id); + Host(std::string const& name); ~Host(); - std::string const& id() const { return id_; } + 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); };