From: Martin Quinson Date: Tue, 23 May 2023 22:45:49 +0000 (+0200) Subject: Hide a bit an internal method (make it protected) X-Git-Tag: v3.34~101 X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/b6d0a6d0c3a58a6b7db0940fd1d1c2f471b6ba97 Hide a bit an internal method (make it protected) --- diff --git a/include/simgrid/s4u/Activity.hpp b/include/simgrid/s4u/Activity.hpp index 86d137d438..ffd66d6238 100644 --- a/include/simgrid/s4u/Activity.hpp +++ b/include/simgrid/s4u/Activity.hpp @@ -51,7 +51,6 @@ public: bool has_no_successor() const { return successors_.empty(); } const std::set& get_dependencies() const { return dependencies_; } const std::vector& get_successors() const { return successors_; } - virtual void fire_this_completion() const = 0; protected: Activity() = default; @@ -103,6 +102,8 @@ protected: * It is forbidden to change the amount of work once the Activity is started */ Activity* set_remaining(double remains); + virtual void fire_this_completion() const = 0; + private: static xbt::signal on_veto; static xbt::signal on_suspend; @@ -255,8 +256,10 @@ template class Activity_T : public Activity { std::string name_ = "unnamed"; std::string tracing_category_ = ""; -public: +protected: inline static xbt::signal on_completion; + +public: /*! Add a callback fired when the activity completes (either normally, cancelled or failed) */ static void on_completion_cb(const std::function& cb) { on_completion.connect(cb); } diff --git a/include/simgrid/s4u/Comm.hpp b/include/simgrid/s4u/Comm.hpp index 5baa059a63..46f7b4e06c 100644 --- a/include/simgrid/s4u/Comm.hpp +++ b/include/simgrid/s4u/Comm.hpp @@ -42,11 +42,13 @@ class XBT_PUBLIC Comm : public Activity_T { static xbt::signal on_recv; static xbt::signal on_start; +protected: + void fire_this_completion() const override { on_completion(*this); } + public: static void on_send_cb(const std::function& cb) { on_send.connect(cb); } static void on_recv_cb(const std::function& cb) { on_recv.connect(cb); } static void on_start_cb(const std::function& cb) { on_start.connect(cb); } - void fire_this_completion() const override { on_completion(*this); } CommPtr set_copy_data_callback(const std::function& callback); XBT_ATTRIB_DEPRECATED_v337("Please manifest if you actually need this function") static void copy_buffer_callback( diff --git a/include/simgrid/s4u/Exec.hpp b/include/simgrid/s4u/Exec.hpp index 6d788ed88a..df0183fdb1 100644 --- a/include/simgrid/s4u/Exec.hpp +++ b/include/simgrid/s4u/Exec.hpp @@ -43,6 +43,7 @@ protected: void reset() const; static xbt::signal on_start; + void fire_this_completion() const override { on_completion(*this); } public: #ifndef DOXYGEN @@ -51,7 +52,6 @@ public: #endif /*! Signal fired each time that an execution actually starts (no veto) */ static void on_start_cb(const std::function& cb) { on_start.connect(cb); } - void fire_this_completion() const override { on_completion(*this); } static ExecPtr init(); diff --git a/include/simgrid/s4u/Io.hpp b/include/simgrid/s4u/Io.hpp index edee8ac1c0..fbab9a8007 100644 --- a/include/simgrid/s4u/Io.hpp +++ b/include/simgrid/s4u/Io.hpp @@ -29,12 +29,12 @@ class XBT_PUBLIC Io : public Activity_T { protected: explicit Io(kernel::activity::IoImplPtr pimpl); Io* do_start() override; + void fire_this_completion() const override { on_completion(*this); } public: enum class OpType { READ, WRITE }; static void on_start_cb(const std::function& cb) { on_start.connect(cb); } - void fire_this_completion() const override { on_completion(*this); } static IoPtr init(); /*! take a vector of s4u::IoPtr and return when one of them is finished.