- Action();
- Action(ModelPtr model, double cost, bool failed);
- Action(ModelPtr model, double cost, bool failed, lmm_variable_t var);
- virtual ~Action();
-
- void finish();
- s_xbt_swag_hookup_t p_stateHookup;
-
- e_surf_action_state_t getState(); /**< get the state*/
- virtual void setState(e_surf_action_state_t state); /**< Change state*/
- double getBound() {return m_bound;}
- double getStartTime(); /**< Return the start time of an action */
- double getFinishTime(); /**< Return the finish time of an action */
- void *getData() {return p_data;}
- void setData(void* data);
- double getMaxDuration() {return m_maxDuration;}
- char *getCategory() {return p_category;}
- double getCost() {return m_cost;}
- void setCost(double cost) {m_cost = cost;}
+ /** @brief Get the set of [actions](@ref Action) in *ready* state */
+ virtual ActionList* getReadyActionSet() {return readyActionSet_;}
+
+ /** @brief Get the set of [actions](@ref Action) in *running* state */
+ virtual ActionList* getRunningActionSet() {return runningActionSet_;}
+
+ /** @brief Get the set of [actions](@ref Action) in *failed* state */
+ virtual ActionList* getFailedActionSet() {return failedActionSet_;}
+
+ /** @brief Get the set of [actions](@ref Action) in *done* state */
+ virtual ActionList* getDoneActionSet() {return doneActionSet_;}
+
+ /** @brief Get the set of modified [actions](@ref Action) */
+ virtual ActionLmmListPtr getModifiedSet() {return modifiedSet_;}
+
+ /** @brief Get the maxmin system of the current Model */
+ lmm_system_t getMaxminSystem() {return maxminSystem_;}
+
+ /**
+ * @brief Get the update mechanism of the current Model
+ * @see e_UM_t
+ */
+ e_UM_t getUpdateMechanism() {return updateMechanism_;}
+
+ /** @brief Get Action heap */
+ xbt_heap_t getActionHeap() {return actionHeap_;}
+
+ /**
+ * @brief Share the resources between the actions
+ *
+ * @param now The current time of the simulation
+ * @return The delta of time till the next action will finish
+ */
+ virtual double nextOccuringEvent(double now);
+ virtual double nextOccuringEventLazy(double now);
+ virtual double nextOccuringEventFull(double now);
+
+ /**
+ * @brief Update action to the current time
+ *
+ * @param now The current time of the simulation
+ * @param delta The delta of time since the last update
+ */
+ virtual void updateActionsState(double now, double delta);
+ virtual void updateActionsStateLazy(double now, double delta);
+ virtual void updateActionsStateFull(double now, double delta);