The C++ framework for developing highly scalable, high performance servers on Windows platforms.

CSemaphore Class Reference
[Win32 Synchronization primitivesWin32 Kernel Objects]

Inheritance diagram for CSemaphore:
Collaboration diagram for CSemaphore:

List of all members.


Detailed Description

A class that wraps the operating system Semaphore API.

Public Types

enum  RequiredAccess { AllAccess, WaitAccess, IncrementAccess }
enum  CreationFlags { CreateOrConnect, CreateNew, ConnectToExisting }
 Specify how to create or connect to an existing event object. More...

Public Member Functions

 CSemaphore ()
 CSemaphore (long initialCount, long maximumCount)
 CSemaphore (LPSECURITY_ATTRIBUTES lpSecurityAttributes, long initialCount, long maximumCount)
 CSemaphore (LPSECURITY_ATTRIBUTES lpSecurityAttributes, long initialCount, long maximumCount, const IKernelObjectName &name, CreationFlags creationFlags=CreateOrConnect)
 CSemaphore (const IKernelObjectName &name, RequiredAccess requiredAccess)
 CSemaphore (const CSemaphore &rhs)
CSemaphoreoperator= (const CSemaphore &rhs)
long Increment ()
long Increment (long count)
HANDLE GetWaitHandle () const override
void Wait () const override
bool Wait (Milliseconds timeout) const override

Member Enumeration Documentation

Enumerator:
AllAccess 
WaitAccess 
IncrementAccess 

Specify how to create or connect to an existing event object.

Enumerator:
CreateOrConnect 
CreateNew 
ConnectToExisting 


Constructor & Destructor Documentation

CSemaphore (  ) 

CSemaphore ( long  initialCount,
long  maximumCount 
)

CSemaphore ( LPSECURITY_ATTRIBUTES  lpSecurityAttributes,
long  initialCount,
long  maximumCount 
)

CSemaphore ( LPSECURITY_ATTRIBUTES  lpSecurityAttributes,
long  initialCount,
long  maximumCount,
const IKernelObjectName name,
CreationFlags  creationFlags = CreateOrConnect 
)

CSemaphore ( const IKernelObjectName name,
RequiredAccess  requiredAccess 
)

CSemaphore ( const CSemaphore rhs  ) 


Member Function Documentation

CSemaphore& operator= ( const CSemaphore rhs  ) 

long Increment (  ) 

long Increment ( long  count  ) 

HANDLE GetWaitHandle (  )  const [override]

void Wait (  )  const [override]

bool Wait ( Milliseconds  timeout  )  const [override]


Generated on Sun Sep 12 19:11:46 2021 for The Server Framework - v7.4 by doxygen 1.5.3