home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / os2thred.zip / QTHREAD.CPP < prev    next >
C/C++ Source or Header  |  1994-06-05  |  860b  |  42 lines

  1. // Listing 4 -- QThread.cpp
  2.  
  3. //------------------------- Includes ------------------------------
  4.  
  5. #define INCL_WIN
  6. #define INCL_DOS
  7.  
  8. #include <os2.h>
  9. #include "QThread.h"
  10.  
  11. //--------------------------- code --------------------------------
  12.  
  13. QThread::QThread (    ULONG ulQueueSize,
  14.                             ULONG ulStack)
  15.                     :    Thread((PFNTHREADPROC)this->threadProc, ulStack),
  16.                         ulQSize(ulQueueSize)
  17. {}
  18.  
  19. QThread::~QThread() 
  20. {}
  21.  
  22. VOID  QThread::Start(ULONG ulArg)
  23. {
  24.     ulParam = ulArg;
  25.     this -> Thread::Start((ULONG)this);
  26. }
  27.  
  28. VOID QThread::MsgLoop()
  29. {
  30.     QMSG  qmsg;
  31.     while (this -> GetMessage(qmsg))
  32.         this -> DispatchMsg(qmsg);
  33. }
  34.  
  35. VOID QThread::threadProc (QThread* pQThrd)
  36. {
  37.     pQThrd->Startup(pQThrd->ulParam);
  38.     pQThrd->MsgLoop();
  39.     pQThrd->Shutdown(pQThrd->ulParam);
  40. }
  41.  
  42. //------------------------ end of file ----------------------------