X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/398273263e327fd05ef7e64b1def2a1619280eff..4e4a69258bc6825a548dabc242d5caeaf82ac634:/include/simgrid/s4u/Activity.hpp diff --git a/include/simgrid/s4u/Activity.hpp b/include/simgrid/s4u/Activity.hpp index aaa9e38dd4..06933c1733 100644 --- a/include/simgrid/s4u/Activity.hpp +++ b/include/simgrid/s4u/Activity.hpp @@ -9,7 +9,7 @@ #include #include -typedef enum { inited = 0, started, canceled, errored, finished } e_s4u_activity_state_t; +enum e_s4u_activity_state_t { inited = 0, started, canceled, errored, finished }; namespace simgrid { namespace s4u { @@ -22,10 +22,13 @@ XBT_PUBLIC_CLASS Activity { friend Comm; friend void intrusive_ptr_release(Comm * c); friend void intrusive_ptr_add_ref(Comm * c); + friend Exec; + friend void intrusive_ptr_release(Exec * e); + friend void intrusive_ptr_add_ref(Exec * e); protected: Activity() = default; - ~Activity() = default; + virtual ~Activity() = default; public: Activity(Activity const&) = delete; @@ -61,7 +64,7 @@ public: void *getUserData() { return userData_; } private: - simgrid::kernel::activity::ActivityImpl *pimpl_ = nullptr; + simgrid::kernel::activity::ActivityImplPtr pimpl_ = nullptr; e_s4u_activity_state_t state_ = inited; double remains_ = 0; void *userData_ = nullptr;