#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
|