+ virtual void post() = 0; // Called by the main loop when the activity is marked as terminated or failed by its model.
+ // Setups the status, clean things up, and call finish()
+ virtual void finish() = 0; // Unlock all simcalls blocked on that activity, either because it was marked as done by
+ // the model or because it terminated without waiting for the model
+
+ void register_simcall(smx_simcall_t simcall);
+ void unregister_simcall(smx_simcall_t simcall);
+ void clean_action();
+ virtual double get_remaining() const;
+ const char* get_state_str() const;
+ // Support for the boost::intrusive_ptr<ActivityImpl> datatype