X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/31f8d2188a6cfd24c58c7503728bc1317be2f073..f1d8f814d4af21e7e7a2bcba99009ad4bc8f6813:/src/surf/surf_interface.cpp diff --git a/src/surf/surf_interface.cpp b/src/surf/surf_interface.cpp index 1dcc7540a1..732406df3e 100644 --- a/src/surf/surf_interface.cpp +++ b/src/surf/surf_interface.cpp @@ -604,14 +604,18 @@ void Resource::turnOff() } } -Model *Resource::getModel() { +Model *Resource::getModel() const { return p_model; } -const char *Resource::getName() { +const char *Resource::getName() const { return p_name; } +bool Resource::operator==(const Resource &other) const { + return strcmp(p_name, other.p_name); +} + lmm_constraint_t Resource::getConstraint() { return p_constraint; } @@ -674,38 +678,41 @@ void Action::finish() { m_finish = surf_get_clock(); } -e_surf_action_state_t Action::getState() +Action::State Action::getState() { if (p_stateSet == getModel()->getReadyActionSet()) - return SURF_ACTION_READY; + return Action::State::ready; if (p_stateSet == getModel()->getRunningActionSet()) - return SURF_ACTION_RUNNING; + return Action::State::running; if (p_stateSet == getModel()->getFailedActionSet()) - return SURF_ACTION_FAILED; + return Action::State::failed; if (p_stateSet == getModel()->getDoneActionSet()) - return SURF_ACTION_DONE; - return SURF_ACTION_NOT_IN_THE_SYSTEM; + return Action::State::done; + return Action::State::not_in_the_system; } -void Action::setState(e_surf_action_state_t state) +void Action::setState(Action::State 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) + switch (state) { + case Action::State::ready: p_stateSet = getModel()->getReadyActionSet(); - else if (state == SURF_ACTION_RUNNING) + break; + case Action::State::running: p_stateSet = getModel()->getRunningActionSet(); - else if (state == SURF_ACTION_FAILED) + break; + case Action::State::failed: p_stateSet = getModel()->getFailedActionSet(); - else if (state == SURF_ACTION_DONE) + break; + case Action::State::done: p_stateSet = getModel()->getDoneActionSet(); - else + break; + default: p_stateSet = NULL; - + break; + } if (p_stateSet) p_stateSet->push_back(*this); - XBT_OUT(); } double Action::getBound() @@ -774,7 +781,7 @@ void Action::setPriority(double priority) } void Action::cancel(){ - setState(SURF_ACTION_FAILED); + setState(Action::State::failed); if (getModel()->getUpdateMechanism() == UM_LAZY) { if (action_lmm_hook.is_linked()) getModel()->getModifiedSet()->erase(getModel()->getModifiedSet()->iterator_to(*this)); @@ -922,12 +929,12 @@ void Action::updateRemainingLazy(double now) if ((m_remains <= 0) && (lmm_get_variable_weight(getVariable()) > 0)) { finish(); - setState(SURF_ACTION_DONE); + setState(Action::State::done); heapRemove(getModel()->getActionHeap()); } else if (((m_maxDuration != NO_MAX_DURATION) && (m_maxDuration <= 0))) { finish(); - setState(SURF_ACTION_DONE); + setState(Action::State::done); heapRemove(getModel()->getActionHeap()); } }