All pastes #179585 Raw Edit

zeroflag

public cpp v1 · immutable
#179585 ·published 2006-09-22 10:31 UTC
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));	}