rendered paste body void TaskStateObject::setTaskState(TaskState::eTaskState newstate) { if (newstate != this->mTaskState && this->isStateChangeValid(this->mTaskState, newstate)) { if (this->onStateChange(newstate)) { this->mTaskState = newstate; } } } bool TaskStateObject::onStateChange(TaskState::eTaskState newstate) { switch(newstate) { case TaskState::Created: break; case TaskState::Initialize: break; case TaskState::InitializeWait: break; case TaskState::InitializeLink: break; case TaskState::Active: break; case TaskState::Suspended: break; case TaskState::Terminated: break; } return false; } bool TaskStateObject::isStateChangeValid(TaskState::eTaskState oldstate, TaskState::eTaskState newstate) { return (oldstate == TaskState::Created && newstate == TaskState::Initialize) || (oldstate == TaskState::Initialize && newstate == TaskState::InitializeWait) || (oldstate == TaskState::InitializeWait && newstate == TaskState::InitializeLink) || (oldstate == TaskState::InitializeLink && newstate == TaskState::Active) || (oldstate == TaskState::Active && (newstate == TaskState::Suspended || newstate == TaskState::Terminated)); }