Logo
~Sockets~
~Examples~
~Contact~


SocketHandlerThread Class Reference

#include <SocketHandlerThread.h>

Inheritance diagram for SocketHandlerThread:
Collaboration diagram for SocketHandlerThread:

List of all members.


Public Member Functions

 SocketHandlerThread (ISocketHandler &parent)
 ~SocketHandlerThread ()
virtual void Run ()
ISocketHandlerHandler ()
void Wait ()

Private Attributes

ISocketHandlerm_parent
ISocketHandlerm_handler
Semaphore m_sem

Detailed Description

Definition at line 43 of file SocketHandlerThread.h.


Constructor & Destructor Documentation

SocketHandlerThread::SocketHandlerThread ( ISocketHandler parent  ) 

Definition at line 41 of file SocketHandlerThread.cpp.

00041                                                                : Thread(false)
00042 , m_parent(parent)
00043 , m_handler(NULL)
00044 {
00045 }

SocketHandlerThread::~SocketHandlerThread (  ) 

Definition at line 48 of file SocketHandlerThread.cpp.

00049 {
00050 }


Member Function Documentation

void SocketHandlerThread::Run (  )  [virtual]

Implements Thread.

Definition at line 59 of file SocketHandlerThread.cpp.

References ISocketHandler::Create(), ISocketHandler::EnableRelease(), Thread::IsRunning(), m_handler, m_parent, m_sem, Semaphore::Post(), and ISocketHandler::Select().

00060 {
00061   Mutex mutex;
00062   m_handler = m_parent.Create(mutex, m_parent);
00063   m_sem.Post();
00064   ISocketHandler& h = *m_handler;
00065   h.EnableRelease();
00066   while (IsRunning())
00067   {
00068     h.Select(1, 0);
00069   }
00070 }

ISocketHandler & SocketHandlerThread::Handler (  ) 

Definition at line 53 of file SocketHandlerThread.cpp.

References m_handler.

00054 {
00055   return *m_handler;
00056 }

void SocketHandlerThread::Wait (  ) 

Reimplemented from Thread.

Definition at line 73 of file SocketHandlerThread.cpp.

References m_sem, and Semaphore::Wait().

00074 {
00075   m_sem.Wait();
00076 }


Member Data Documentation

Definition at line 56 of file SocketHandlerThread.h.

Referenced by Run().

Definition at line 57 of file SocketHandlerThread.h.

Referenced by Handler(), and Run().

Reimplemented from Thread.

Definition at line 58 of file SocketHandlerThread.h.

Referenced by Run(), and Wait().


The documentation for this class was generated from the following files:
Page, code, and content Copyright (C) 2007 by Anders Hedström
Generated for C++ Sockets by  doxygen 1.4.4