X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d1ce25d36729721b7d7eed0fa4425e401db8a092..a4f850af455f783fefb0a719eef15d4d9dba2852:/include/simgrid/s4u/Activity.hpp diff --git a/include/simgrid/s4u/Activity.hpp b/include/simgrid/s4u/Activity.hpp index aaa9e38dd4..bdd1183e84 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 { @@ -20,12 +20,15 @@ namespace s4u { */ XBT_PUBLIC_CLASS Activity { friend Comm; - friend void intrusive_ptr_release(Comm * c); - friend void intrusive_ptr_add_ref(Comm * c); + friend XBT_PUBLIC(void) intrusive_ptr_release(Comm * c); + friend XBT_PUBLIC(void) intrusive_ptr_add_ref(Comm * c); + friend Exec; + friend XBT_PUBLIC(void) intrusive_ptr_release(Exec * e); + friend XBT_PUBLIC(void) intrusive_ptr_add_ref(Exec * e); protected: Activity() = default; - ~Activity() = default; + virtual ~Activity() = default; public: Activity(Activity const&) = delete; @@ -49,7 +52,7 @@ public: e_s4u_activity_state_t getState() {return state_;} /** Get the remaining amount of work that this Activity entails. When it's 0, it's done. */ - double getRemains(); + virtual double getRemains(); /** Set the [remaining] amount of work that this Activity will entail * * It is forbidden to change the amount of work once the Activity is started */ @@ -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;