MyThread Class Reference

#include <wxReadingPriorityPanel.h>

Collaboration diagram for MyThread:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 MyThread (PriorityLoop *priorityLoop, AdminThreadEED *adminThreadEED)
virtual void * Entry ()
virtual void OnExit ()

Private Attributes

PriorityLoop_priorityLoop
AdminThreadEED_adminThreadEED


Detailed Description

Definition at line 200 of file wxReadingPriorityPanel.h.


Constructor & Destructor Documentation

MyThread::MyThread ( PriorityLoop priorityLoop,
AdminThreadEED adminThreadEED 
)

Definition at line 624 of file wxReadingPriorityPanel.cpp.

References _adminThreadEED, and _priorityLoop.

00624                                                                            {
00625    _priorityLoop        =       priorityLoop;
00626    _adminThreadEED      =       adminThreadEED;
00627 
00628 }


Member Function Documentation

void * MyThread::Entry (  )  [virtual]

Definition at line 647 of file wxReadingPriorityPanel.cpp.

References _priorityLoop, PriorityLoop::InitLoop(), PriorityLoop::IsLoop(), and PriorityLoop::Iteration().

00647                      {
00648         _priorityLoop->InitLoop();
00649         while ( _priorityLoop->IsLoop()==true ){
00650         if ( TestDestroy() ){
00651             break;
00652                 }
00653                 _priorityLoop->Iteration();
00654     }
00655     return NULL;
00656 }

Here is the call graph for this function:

void MyThread::OnExit (  )  [virtual]

Definition at line 631 of file wxReadingPriorityPanel.cpp.

References _adminThreadEED, _priorityLoop, AdminThreadEED::m_condAllDone, AdminThreadEED::m_critsect, AdminThreadEED::m_mutexAllDone, AdminThreadEED::m_threads, AdminThreadEED::m_waitingUntilAllDone, and PriorityLoop::StopLoop().

00631                      {
00632     _priorityLoop->StopLoop();
00633     wxCriticalSectionLocker locker(_adminThreadEED->m_critsect);
00634     wxArrayThread& threads = _adminThreadEED->m_threads;
00635     threads.Remove(this);
00636 
00637     if ( threads.IsEmpty() )    {
00638         if ( _adminThreadEED->m_waitingUntilAllDone ){
00639             _adminThreadEED->m_waitingUntilAllDone = FALSE;
00640             wxMutexLocker lock(_adminThreadEED->m_mutexAllDone);
00641             _adminThreadEED->m_condAllDone.Signal();
00642         }
00643     }
00644 }

Here is the call graph for this function:


Member Data Documentation

PriorityLoop* MyThread::_priorityLoop [private]

Definition at line 206 of file wxReadingPriorityPanel.h.

Referenced by Entry(), MyThread(), and OnExit().

AdminThreadEED* MyThread::_adminThreadEED [private]

Definition at line 207 of file wxReadingPriorityPanel.h.

Referenced by MyThread(), and OnExit().


The documentation for this class was generated from the following files:
Generated on Wed Jul 29 16:36:04 2009 for creaMaracasVisu_lib by  doxygen 1.5.3