#include <utility.h>
Public Member Functions | |
Thread () | |
virtual | ~Thread () |
void | Start () |
void | Stop () |
virtual int | Run ()=0 |
bool | is_alive () const |
Public Attributes | |
CritSect | _crit_sect |
Static Protected Member Functions | |
static DWORD WINAPI | ThreadProc (void *para) |
Protected Attributes | |
HANDLE | _hThread |
HANDLE | _evtFinish |
bool | _alive |
bool | _destroy |
Thread base class.
Definition at line 345 of file utility.h.
Thread::Thread | ( | ) | [inline] |
virtual Thread::~Thread | ( | ) | [inline, virtual] |
bool Thread::is_alive | ( | ) | const [inline] |
Definition at line 391 of file utility.h.
Referenced by FindProgramDlg::collect_programs_callback().
{return _alive;}
virtual int Thread::Run | ( | ) | [pure virtual] |
Implemented in CollectProgramsThread.
Referenced by ThreadProc().
void Thread::Start | ( | ) | [inline] |
Definition at line 366 of file utility.h.
Referenced by _tWinMain(), and FindProgramDlg::Refresh().
{ if (!_alive) { _alive = true; _hThread = CreateThread(NULL, 0, ThreadProc, this, 0, NULL); } }
void Thread::Stop | ( | ) | [inline] |
Definition at line 374 of file utility.h.
Referenced by _tWinMain(), FindProgramDlg::Refresh(), and FindProgramDlg::~FindProgramDlg().
{ SetEvent(_evtFinish); if (_alive) { { Lock lock(_crit_sect); _alive = false; } // wait for finishing WaitForSingleObject(_hThread, INFINITE); } }
DWORD WINAPI Thread::ThreadProc | ( | void * | para ) | [static, protected] |
bool Thread::_alive [protected] |
Definition at line 400 of file utility.h.
Referenced by CollectProgramsThread::collect_programs(), CollectProgramsThread::Run(), and ThreadProc().
Definition at line 393 of file utility.h.
Referenced by FindProgramDlg::collect_programs_callback(), and FindProgramDlg::LaunchSelected().
bool Thread::_destroy [protected] |
HANDLE Thread::_evtFinish [protected] |
HANDLE Thread::_hThread [protected] |
ROS Explorer Source Code Documentation
generated on 02.01.2013 by ![]() |