- m_finish = surf_get_clock();
-}
-
-e_surf_action_state_t Action::getState()
-{
- if (p_stateSet == getModel()->getReadyActionSet())
- return SURF_ACTION_READY;
- if (p_stateSet == getModel()->getRunningActionSet())
- return SURF_ACTION_RUNNING;
- if (p_stateSet == getModel()->getFailedActionSet())
- return SURF_ACTION_FAILED;
- if (p_stateSet == getModel()->getDoneActionSet())
- return SURF_ACTION_DONE;
- return SURF_ACTION_NOT_IN_THE_SYSTEM;
-}
-
-void Action::setState(e_surf_action_state_t state)
-{
- //surf_action_state_t action_state = &(action->model_type->states);
- XBT_IN("(%p,%s)", this, surf_action_state_names[state]);
- p_stateSet->erase(p_stateSet->iterator_to(*this));
- if (state == SURF_ACTION_READY)
- p_stateSet = getModel()->getReadyActionSet();
- else if (state == SURF_ACTION_RUNNING)
- p_stateSet = getModel()->getRunningActionSet();
- else if (state == SURF_ACTION_FAILED)
- p_stateSet = getModel()->getFailedActionSet();
- else if (state == SURF_ACTION_DONE)
- p_stateSet = getModel()->getDoneActionSet();
- else
- p_stateSet = NULL;
-
- if (p_stateSet)
- p_stateSet->push_back(*this);
- XBT_OUT();
+ finishTime_ = surf_get_clock();
+}
+
+Action::State Action::getState()
+{
+ if (stateSet_ == getModel()->getReadyActionSet())
+ return Action::State::ready;
+ if (stateSet_ == getModel()->getRunningActionSet())
+ return Action::State::running;
+ if (stateSet_ == getModel()->getFailedActionSet())
+ return Action::State::failed;
+ if (stateSet_ == getModel()->getDoneActionSet())
+ return Action::State::done;
+ return Action::State::not_in_the_system;
+}
+
+void Action::setState(Action::State state)
+{
+ stateSet_->erase(stateSet_->iterator_to(*this));
+ switch (state) {
+ case Action::State::ready:
+ stateSet_ = getModel()->getReadyActionSet();
+ break;
+ case Action::State::running:
+ stateSet_ = getModel()->getRunningActionSet();
+ break;
+ case Action::State::failed:
+ stateSet_ = getModel()->getFailedActionSet();
+ break;
+ case Action::State::done:
+ stateSet_ = getModel()->getDoneActionSet();
+ break;
+ default:
+ stateSet_ = NULL;
+ break;
+ }
+ if (stateSet_)
+ stateSet_->push_back(*this);