Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Examples  

corelinux::CoreLinuxGuardGroup Class Reference

A CoreLinuxGuardGroup is an extension to the SemaphoreGroup for creating semaphores for the CoreLinuxGuardPool. More...

#include <CoreLinuxGuardGroup.hpp>

Inheritance diagram for corelinux::CoreLinuxGuardGroup

Inheritance graph
[legend]
Collaboration diagram for corelinux::CoreLinuxGuardGroup:

Collaboration graph
[legend]
List of all members.

Public Methods

 CoreLinuxGuardGroup ( Short ) throw (Assertion,SemaphoreException)
 Default constructor creates a private group semaphores with access for OWNER_ALL. More...

virtual ~CoreLinuxGuardGroup ( void )
 Virtual destructor.

virtual AbstractSemaphorePtr createSemaphore ( void ) throw ( SemaphoreException )
 Create a default GuardSemaphore. More...

virtual AbstractSemaphorePtr createSemaphore ( SemaphoreIdentifierRef aIdentifier, CreateDisposition disp = CREATE_OR_REUSE, bool Recursive = false, bool Balking = false ) throw ( SemaphoreException )
 Create or open (use) a specific GuardSemaphore. More...

virtual AbstractSemaphorePtr createSemaphore ( std::string aName, CreateDisposition disp = CREATE_OR_REUSE, bool Recursive=false, bool Balking = false ) throw ( SemaphoreException )
 Create or open (use) a specific GuardSemaphore. More...

virtual void destroySemaphore ( AbstractSemaphorePtr ) throw ( SemaphoreException )
 Destroys a created GuardSemaphore. More...


Protected Methods

 CoreLinuxGuardGroup ( void ) throw ( Assertion )
 Default constructor not allowed.

 CoreLinuxGuardGroup ( CoreLinuxGuardGroupCref ) throw ( Assertion )
 Copy constructor not allowed.

CoreLinuxGuardGroupRef operator= ( CoreLinuxGuardGroupCref ) throw ( Assertion )
 Assignment operator not allowed.


Detailed Description

A CoreLinuxGuardGroup is an extension to the SemaphoreGroup for creating semaphores for the CoreLinuxGuardPool.


Constructor & Destructor Documentation

corelinux::CoreLinuxGuardGroup::CoreLinuxGuardGroup ( Short aSemCount ) throw (Assertion,SemaphoreException)
 

Default constructor creates a private group semaphores with access for OWNER_ALL.

Parameters:
Short   Number of semaphores in group
Exceptions:
Assertion   if aCount < 1
SemaphoreException   if kernel group create call fails.
See also:
AccessRights


Member Function Documentation

AbstractSemaphorePtr corelinux::CoreLinuxGuardGroup::createSemaphore ( std::string aName,
CreateDisposition disp = CREATE_OR_REUSE,
bool Recursive = false,
bool Balking = false ) throw ( SemaphoreException ) [virtual]
 

Create or open (use) a specific GuardSemaphore.

Parameters:
string   identifies which semphore id to create or attempt to use
CreateDisposition   indicates how to treat the conditions that the group may meet in the request: CREATE_OR_REUSE indicates that the caller doesn't care FAIL_IF_EXISTS indicates the attempt was for a create FAIL_IF_NOTEXISTS indicates the attempt was for a open
Recursive   to allow same thread multiple locks
Balking   to allow the semaphore to balk
Returns:
AbstractSemaphore aSem - pointer to created or opened semaphore
Exceptions:
SemaphoreException   if the disposition disagrees with the semaphore state, or if it is a erroneous identifier

Reimplemented from corelinux::SemaphoreGroup.

AbstractSemaphorePtr corelinux::CoreLinuxGuardGroup::createSemaphore ( SemaphoreIdentifierRef aIdentifier,
CreateDisposition disp = CREATE_OR_REUSE,
bool Recursive = false,
bool Balking = false ) throw ( SemaphoreException ) [virtual]
 

Create or open (use) a specific GuardSemaphore.

Parameters:
SemaphoreIdentifier   identifies which semphore id to create or attempt to use
CreateDisposition   indicates how to treat the conditions that the group may meet in the request: CREATE_OR_REUSE indicates that the caller doesn't care FAIL_IF_EXISTS indicates the attempt was for a create FAIL_IF_NOTEXISTS indicates the attempt was for a open
Recursive   to allow same thread multiple locks
Balking   to allow the semaphore to balk
Returns:
AbstractSemaphore aSem - pointer to created or opened semaphore
Exceptions:
SemaphoreException   if the disposition disagrees with the semaphore state, or if it is a erroneous identifier

Reimplemented from corelinux::SemaphoreGroup.

AbstractSemaphorePtr corelinux::CoreLinuxGuardGroup::createSemaphore ( void ) throw ( SemaphoreException ) [virtual]
 

Create a default GuardSemaphore.

Returns:
AbstractSemaphore aSem - pointer to created semaphore
Exceptions:
SemaphoreException   if no sems left in group

Reimplemented from corelinux::SemaphoreGroup.

void corelinux::CoreLinuxGuardGroup::destroySemaphore ( AbstractSemaphorePtr aPtr ) throw ( SemaphoreException ) [virtual]
 

Destroys a created GuardSemaphore.

Note:
Reference counting is not enabled so applications should ensure that only one (1) destroy is called per semaphore.
Parameters:
AbstractSemaphore   pointer of semaphore to destroy
Exceptions:
SemaphoreException   if semaphore does not belong to this group or if already destroyed.

Reimplemented from corelinux::SemaphoreGroup.


The documentation for this class was generated from the following files:
This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium