#include <SemaphoreGroup.hpp>
Inheritance diagram for corelinux::SemaphoreGroup:
Public Member Functions | |
SemaphoreGroup (Short, Int Rights=OWNER_ALL) throw (Assertion,SemaphoreException) | |
Default constructor creates a private group semaphores. | |
SemaphoreGroup (Short, SemaphoreGroupIdentifierCref, Int, CreateDisposition disp=FAIL_IF_EXISTS) throw (Assertion,SemaphoreException) | |
Constructor to open or create a semaphore group with a specific identifier. | |
SemaphoreGroup (Short, CharCptr, Int, CreateDisposition disp=FAIL_IF_EXISTS) throw (Assertion,SemaphoreException) | |
Constructor to open or create a semaphore group by name. | |
virtual | ~SemaphoreGroup (void) |
Virtual destructor. | |
bool | operator== (SemaphoreGroupCref) const |
Equality operator compares the identifier. | |
Short | getSemaphoreCount (void) const |
Return the number of semaphores in the group. | |
SemaphoreGroupIdentifierCref | getIdentifier (void) const |
Return the SemaphoreGroupIdentifier. | |
virtual AbstractSemaphorePtr | createSemaphore (void)=0 throw ( SemaphoreException ) |
Create a default semaphore type from group. | |
virtual AbstractSemaphorePtr | createSemaphore (SemaphoreIdentifierRef aIdentifier, CreateDisposition disp=CREATE_OR_REUSE, bool Recursive=false, bool Balking=false)=0 throw ( SemaphoreException ) |
Create or open (use) a specific semphore in the group. | |
virtual AbstractSemaphorePtr | createSemaphore (std::string aName, CreateDisposition disp=CREATE_OR_REUSE, bool Recursive=false, bool Balking=false)=0 throw ( SemaphoreException ) |
Create or open (use) a specific semphore in the group. | |
virtual void | destroySemaphore (AbstractSemaphorePtr)=0 throw ( SemaphoreException ) |
Destroys a created semaphore from this group. | |
Protected Member Functions | |
SemaphoreGroup (void) throw ( Assertion ) | |
Default constructor not allowed. | |
SemaphoreGroup (SemaphoreGroupCref) throw ( Assertion ) | |
Copy constructor not allowed. | |
SemaphoreGroupRef | operator= (SemaphoreGroupCref) throw ( Assertion ) |
Assignment operator not allowed. | |
void | setGroupType (IntCref) const |
This indirects to CSA for non-private group types. | |
bool | isPrivate (void) const |
Internal check for creation visibility. | |
Friends | |
class | SemaphoreCommon |
This provides a way to logically group semaphores. A SemaphoreGroup acts as a Semaphore factory, creating and destroying Semaphores for the user.
|
Default constructor creates a private group semaphores.
|
|
Constructor to open or create a semaphore group with a specific identifier.
|
|
Constructor to open or create a semaphore group by name.
|
|
Create or open (use) a specific semphore in the group.
Implemented in corelinux::CoreLinuxGuardGroup, corelinux::EventSemaphoreGroup, corelinux::GatewaySemaphoreGroup, and corelinux::MutexSemaphoreGroup. |
|
Create or open (use) a specific semphore in the group.
Implemented in corelinux::CoreLinuxGuardGroup, corelinux::EventSemaphoreGroup, corelinux::GatewaySemaphoreGroup, and corelinux::MutexSemaphoreGroup. |
|
Create a default semaphore type from group.
Implemented in corelinux::CoreLinuxGuardGroup, corelinux::EventSemaphoreGroup, corelinux::GatewaySemaphoreGroup, and corelinux::MutexSemaphoreGroup. |
|
Destroys a created semaphore from this group.
Implemented in corelinux::CoreLinuxGuardGroup, corelinux::EventSemaphoreGroup, corelinux::GatewaySemaphoreGroup, and corelinux::MutexSemaphoreGroup. |
|
Return the SemaphoreGroupIdentifier.
|
|
Return the number of semaphores in the group.
|
|
Internal check for creation visibility. This implies that even though the group may be shared, the user has elected to use privately. |
|
Equality operator compares the identifier.
|
|
This indirects to CSA for non-private group types.
|