00001 #include <process.h> 00002 00003 #include "Planners\PlannerMultiThreaded.h" 00004 void DoPlanning( void* data ) 00005 { 00006 PlannerMultiThreaded* planner = reinterpret_cast< PlannerMultiThreaded* >( data ); 00007 bool result = planner->Plan(); 00008 planner->SetStatus( PL_FINISHED ); 00009 planner->SetPlanSuccess( result ); 00010 } 00011 00012 PlannerMultiThreaded::~PlannerMultiThreaded() 00013 { 00014 00015 } 00016 00017 void PlannerMultiThreaded::PlanMultiThreaded () 00018 { 00019 this->m_UseSemaphores = true; 00020 this->planningStatus = PL_IN_PROGRESS; 00021 _beginthread( DoPlanning, 0, this ); 00022 } 00023 00024 PLANNER_STATUS_TYPE PlannerMultiThreaded::GetStatus () const 00025 { 00026 return this->planningStatus; 00027 } 00028 00029 void PlannerMultiThreaded::SetStatus (PLANNER_STATUS_TYPE status) 00030 { 00031 this->planningStatus = status; 00032 } 00033