+ xbt::signal<void(Host const&)> on_this_speed_change;
+ static xbt::signal<void(Host const&)> on_onoff;
+ xbt::signal<void(Host const&)> on_this_onoff;
+
+#endif
+ /** \static Add a callback fired on each newly created host */
+ static void on_creation_cb(const std::function<void(Host&)>& cb) { on_creation.connect(cb); }
+ /** \static Add a callback fired when any machine is turned on or off (called AFTER the change) */
+ static void on_onoff_cb(const std::function<void(Host const&)>& cb)
+ {
+ on_onoff.connect(cb);
+ }
+ XBT_ATTRIB_DEPRECATED_v338("Please use on_onoff_cb() instead") static void on_state_change_cb(
+ const std::function<void(Host const&)>& cb)
+ {
+ on_onoff.connect(cb);
+ }
+ /** Add a callback fired when this specific machine is turned on or off (called AFTER the change) */
+ void on_this_onoff_cb(const std::function<void(Host const&)>& cb)
+ {
+ on_this_onoff.connect(cb);
+ }
+ /** \static Add a callback fired when the speed of any machine is changed (called AFTER the change)
+ * (either because of a pstate switch or because of an external load event coming from the profile) */
+ static void on_speed_change_cb(const std::function<void(Host const&)>& cb) { on_speed_change.connect(cb); }
+ /** Add a callback fired when the speed of this specific machine is changed (called AFTER the change)
+ * (either because of a pstate switch or because of an external load event coming from the profile) */
+ void on_this_speed_change_cb(const std::function<void(Host const&)>& cb)
+ {
+ on_this_speed_change.connect(cb);
+ }
+ /** \static Add a callback fired just before destructing any host */
+ static void on_destruction_cb(const std::function<void(Host const&)>& cb) { on_destruction.connect(cb); }
+ /** Add a callback fired just before destructing this specific host */
+ void on_this_destruction_cb(const std::function<void(Host const&)>& cb)
+ {
+ on_this_destruction.connect(cb);
+ }
+ /** \static Add a callback fired when the state of any exec activity changes */
+ static void on_exec_state_change_cb(
+ const std::function<void(kernel::resource::CpuAction&, kernel::resource::Action::State previous)>& cb)
+ {
+ on_exec_state_change.connect(cb);
+ }