CSemaphore Class Reference
[Win32 Synchronization primitivesWin32 Kernel Objects]

Inheritance diagram for CSemaphore:

Inheritance graph
[legend]
Collaboration diagram for CSemaphore:

Collaboration graph
[legend]

List of all members.


Detailed Description

A class that wraps the operating system Semaphore API.

Public Types

enum  RequiredAccess { AllAccess, WaitAccess, IncrementAccess }

Public Member Functions

 CSemaphore ()
 CSemaphore (const long initialCount, const long maximumCount)
 CSemaphore (LPSECURITY_ATTRIBUTES lpSecurityAttributes, const long initialCount, const long maximumCount)
 CSemaphore (LPSECURITY_ATTRIBUTES lpSecurityAttributes, const long initialCount, const long maximumCount, const IKernelObjectName &name)
 CSemaphore (const IKernelObjectName &name, RequiredAccess requiredAccess)
long Increment ()
long Increment (const long count)
virtual HANDLE GetWaitHandle () const
 Access a HANDLE to wait on by passing it to one of the Wait Functions.
virtual void Wait () const
 Wait indefinitely for the object to become signalled.
virtual bool Wait (const Milliseconds timeout) const
 Wait, with a time limit, for the object to become signalled.

Static Public Member Functions

static void Wait (HANDLE handle)
 Wait indefinitely for the supplied handle to become signalled.
static bool Wait (HANDLE handle, const Milliseconds timeout)
 Wait, with a time limit, for the supplied handle to become signalled.
static bool WaitWithMessageLoop (HANDLE handle, const Milliseconds timeout)
static bool WaitWithMessageLoop (HANDLE handle, const Milliseconds timeout, const DWORD removeFlags)
static bool WaitWithMessageLoop (const DWORD numHandles, HANDLE *pHandles, const Milliseconds timeout)
static bool WaitWithMessageLoop (const DWORD numHandles, HANDLE *pHandles, DWORD &signalledHandle, const Milliseconds timeout)
static bool WaitWithMessageLoop (const DWORD numHandles, HANDLE *pHandles, DWORD &signalledHandle, const Milliseconds timeout, const DWORD removeFlags)

Member Enumeration Documentation

enum RequiredAccess

Enumerator:
AllAccess 
WaitAccess 
IncrementAccess 


Constructor & Destructor Documentation

CSemaphore (  ) 

CSemaphore ( const long  initialCount,
const long  maximumCount 
)

CSemaphore ( LPSECURITY_ATTRIBUTES  lpSecurityAttributes,
const long  initialCount,
const long  maximumCount 
)

CSemaphore ( LPSECURITY_ATTRIBUTES  lpSecurityAttributes,
const long  initialCount,
const long  maximumCount,
const IKernelObjectName name 
)

CSemaphore ( const IKernelObjectName name,
RequiredAccess  requiredAccess 
)


Member Function Documentation

long Increment (  ) 

long Increment ( const long  count  ) 

HANDLE GetWaitHandle (  )  const [virtual]

Access a HANDLE to wait on by passing it to one of the Wait Functions.

Implements IWaitable.

void Wait (  )  const [virtual]

Wait indefinitely for the object to become signalled.

Implements IWaitable.

bool Wait ( const Milliseconds  timeout  )  const [virtual]

Wait, with a time limit, for the object to become signalled.

Implements IWaitable.

void Wait ( HANDLE  handle  )  [static, inherited]

Wait indefinitely for the supplied handle to become signalled.

bool Wait ( HANDLE  handle,
const Milliseconds  timeout 
) [static, inherited]

Wait, with a time limit, for the supplied handle to become signalled.

bool WaitWithMessageLoop ( HANDLE  handle,
const Milliseconds  timeout 
) [static, inherited]

bool WaitWithMessageLoop ( HANDLE  handle,
const Milliseconds  timeout,
const DWORD  removeFlags 
) [static, inherited]

bool WaitWithMessageLoop ( const DWORD  numHandles,
HANDLE *  pHandles,
const Milliseconds  timeout 
) [static, inherited]

bool WaitWithMessageLoop ( const DWORD  numHandles,
HANDLE *  pHandles,
DWORD &  signalledHandle,
const Milliseconds  timeout 
) [static, inherited]

bool WaitWithMessageLoop ( const DWORD  numHandles,
HANDLE *  pHandles,
DWORD &  signalledHandle,
const Milliseconds  timeout,
const DWORD  removeFlags 
) [static, inherited]


Generated on Mon Sep 7 14:10:33 2009 for JetByte Socket Tools - v6.1 by  doxygen 1.5.3