X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a9c00311f3c25e4236d4a19543ce68f7e5ed35b8..f0bd571a5021a90e76b8f9ab8964162081fc13f1:/include/simgrid/s4u/Link.hpp diff --git a/include/simgrid/s4u/Link.hpp b/include/simgrid/s4u/Link.hpp index ca87ddc74a..1ddca13760 100644 --- a/include/simgrid/s4u/Link.hpp +++ b/include/simgrid/s4u/Link.hpp @@ -158,28 +158,46 @@ private: #ifndef DOXYGEN static xbt::signal on_creation; static xbt::signal on_state_change; + xbt::signal on_this_state_change; static xbt::signal on_bandwidth_change; + xbt::signal on_this_bandwidth_change; static xbt::signal on_communication_state_change; static xbt::signal on_destruction; + xbt::signal on_this_destruction; #endif public: /* The signals */ /** @brief Add a callback fired when a new Link is created */ static void on_creation_cb(const std::function& cb) { on_creation.connect(cb); } - /** @brief Add a callback fired when the state of a Link changes (when it is turned on or off) */ + /** @brief Add a callback fired when the state of any Link changes (when it is turned on or off) */ static void on_state_change_cb(const std::function& cb) { on_state_change.connect(cb); } - /** @brief Add a callback fired when the bandwidth of a Link changes */ + /** @brief Add a callback fired when the state of this specific Link changes (when it is turned on or off) */ + void on_this_state_change_cb(const std::function& cb) + { + on_this_state_change.connect(cb); + } + /** @brief Add a callback fired when the bandwidth of any Link changes */ static void on_bandwidth_change_cb(const std::function& cb) { on_bandwidth_change.connect(cb); } + /** @brief Add a callback fired when the bandwidth of this specific Link changes */ + void on_this_bandwidth_change_cb(const std::function& cb) + { + on_this_bandwidth_change.connect(cb); + } /** @brief Add a callback fired when a communication changes it state (ready/done/cancel) */ static void on_communication_state_change_cb( const std::function& cb) { on_communication_state_change.connect(cb); } - /** @brief Add a callback fired when a Link is destroyed */ + /** @brief Add a callback fired when any Link is destroyed */ static void on_destruction_cb(const std::function& cb) { on_destruction.connect(cb); } + /** @brief Add a callback fired when this specific Link is destroyed */ + void on_this_destruction_cb(const std::function& cb) + { + on_this_destruction.connect(cb); + } }; /**