1 #if !defined(__SEMAPHOREGROUP_HPP)
2 #define __SEMAPHOREGROUP_HPP
24 #if !defined(__COMMON_HPP)
28 #if !defined(__SEMAPHORECOMMON_HPP)
29 #include <SemaphoreCommon.hpp>
32 #if !defined(__ABSTRACTSEMAPHORE_HPP)
33 #include <AbstractSemaphore.hpp>
36 #if !defined(__MAP_HPP)
43 const Dword NAMEBUFFERSIZE(254);
173 return theIdentifier;
210 bool Recursive=false,
212 ) throw( SemaphoreException ) = 0;
236 bool Recursive=false,
238 ) throw( SemaphoreException ) = 0;
248 throw( SemaphoreException ) = 0;
301 return (theGroupCSA == NULLPTR);
316 Short theNumberOfSemaphores;
324 Char theName[NAMEBUFFERSIZE];
329 #endif // if !defined(__SEMAPHOREGROUP_HPP)
void setGroupType(IntCref) const
This indirects to CSA for non-private group types.
SemaphoreGroupIdentifierCref getIdentifier(void) const
Return the SemaphoreGroupIdentifier.
Definition: SemaphoreGroup.hpp:171
Short getSemaphoreCount(void) const
Return the number of semaphores in the group.
Definition: SemaphoreGroup.cpp:540
Definition: SemaphoreGroup.hpp:45
SemaphoreGroup(void)
Default constructor not allowed.
Forward reference the various common classes.
Definition: AbstractAllocator.hpp:32
CreateDisposition
Creation dispositions for various system utilities.
Definition: AccessRights.hpp:63
The SemaphoreCommon manages the SemaphoreGroup common storage area.
Definition: SemaphoreCommon.hpp:89
Will throw exception if target exists.
Definition: AccessRights.hpp:71
ScalarIdentifier provides a templated interface for declaring CoreLinux Identifiers for simple scalar...
Definition: ScalarIdentifiers.hpp:37
A AbstractSemaphore supports the protocol that processes and/or threads agree to follow for the purpo...
Definition: AbstractSemaphore.hpp:85
Owner has read/write access.
Definition: AccessRights.hpp:43
SemaphoreException is the base exception type for Semaphore.
Definition: SemaphoreException.hpp:39
virtual AbstractSemaphorePtr createSemaphore(void)=0
Create a default semaphore type from group.
Assertion is-a Exception created when an assertion fails.
Definition: Assertion.hpp:423
Synchronized is a mixin which allows class objects to enable monitor functionality.
Definition: Synchronized.hpp:41
virtual void destroySemaphore(AbstractSemaphorePtr)=0
Destroys a created semaphore from this group.
Will create or open.
Definition: AccessRights.hpp:67
bool isPrivate(void) const
Claim an unused semaphore from the group.
Definition: SemaphoreGroup.hpp:299
bool operator==(SemaphoreGroupCref) const
Equality operator compares the identifier.
Definition: SemaphoreGroup.cpp:529
A SemaphoreGroup is an extension to the Linux semaphore set.
Definition: SemaphoreGroup.hpp:62
virtual ~SemaphoreGroup(void)
Virtual destructor.
Definition: SemaphoreGroup.cpp:420