X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/97746052df546fd0694117467251555199c03b9b..7bc340a73928fe73a57a9664aeba0cf5a92b654c:/include/simgrid/s4u/Activity.hpp diff --git a/include/simgrid/s4u/Activity.hpp b/include/simgrid/s4u/Activity.hpp index 222c9320cb..4568e529ad 100644 --- a/include/simgrid/s4u/Activity.hpp +++ b/include/simgrid/s4u/Activity.hpp @@ -1,5 +1,4 @@ -/* Copyright (c) 2006-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2006-2017. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -7,18 +6,10 @@ #ifndef SIMGRID_S4U_ACTIVITY_HPP #define SIMGRID_S4U_ACTIVITY_HPP -#include -#include -#include - #include -#include "simgrid/forward.h" +#include -SG_BEGIN_DECL(); -typedef enum { - inited, started, finished -} e_s4u_activity_state_t; -SG_END_DECL(); +enum e_s4u_activity_state_t { inited = 0, started, canceled, errored, finished }; namespace simgrid { namespace s4u { @@ -29,11 +20,17 @@ namespace s4u { */ XBT_PUBLIC_CLASS Activity { friend Comm; + friend void intrusive_ptr_release(Comm * c); + friend void intrusive_ptr_add_ref(Comm * c); + protected: - Activity(); - virtual ~Activity(); + Activity() = default; + virtual ~Activity() = default; public: + Activity(Activity const&) = delete; + Activity& operator=(Activity const&) = delete; + /** Starts a previously created activity. * * This function is optional: you can call wait() even if you didn't call start() @@ -64,7 +61,7 @@ public: void *getUserData() { return userData_; } private: - simgrid::simix::Synchro *pimpl_ = nullptr; + simgrid::kernel::activity::ActivityImplPtr pimpl_ = nullptr; e_s4u_activity_state_t state_ = inited; double remains_ = 0; void *userData_ = nullptr;