Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
py: Try to add properties to the Host class
[simgrid.git] / src / bindings / python / simgrid_python.cpp
index e77d5d9..38b0287 100644 (file)
@@ -105,8 +105,15 @@ PYBIND11_MODULE(simgrid, m)
       ;
 
   /* Class Host */
       ;
 
   /* Class Host */
-  py::class_<simgrid::s4u::Host, std::unique_ptr<Host, py::nodelete>>(m, "Host", "Simulation Engine, see :ref:`class s4u::Host <API_s4u_Host>`").def(
-      "by_name", &Host::by_name, "Retrieve a host from its name, or die");
+  auto get_name = [](const Host* self) {
+    return self->get_name();
+  };
+  py::class_<simgrid::s4u::Host, std::unique_ptr<Host, py::nodelete>>(m, "Host", "Simulation Engine, see :ref:`class s4u::Host <API_s4u_Host>`")
+      .def("by_name", &Host::by_name, "Retrieve a host from its name, or die")
+      .def("get_name", &Host::get_name, "Retrieve the name of this host")
+      .def_property_readonly("name", get_name, "Retrieve the name of this host")
+      .def_property_readonly("speed", &Host::get_speed,
+          "Get the peak computing speed in flops/s at the current pstate, taking the external load into account, see :cpp:func:`simgrid::s4u::Host::get_speed()`");
 
   /* Class Mailbox */
   py::class_<simgrid::s4u::Mailbox, std::unique_ptr<Mailbox, py::nodelete>>(m, "Mailbox", "Mailbox, see :ref:`class s4u::Mailbox <API_s4u_Mailbox>`")
 
   /* Class Mailbox */
   py::class_<simgrid::s4u::Mailbox, std::unique_ptr<Mailbox, py::nodelete>>(m, "Mailbox", "Mailbox, see :ref:`class s4u::Mailbox <API_s4u_Mailbox>`")