18 #ifndef __eqpub_h_included 19 #define __eqpub_h_included 51 Bool isPublic() {
return True; }
56 Bool &multipleReaders();
57 Bool &multipleWriters();
63 Void allocDataSpace(cpStr sFile, Char cId, Int nSize);
65 Void initWriteMutex();
66 Void initSemFree(UInt initialCount);
67 Void initSemMsgs(UInt initialCount);
69 EMutexData &readMutex() {
return ESynchObjects::getMutex(readMutexId()); }
70 EMutexData &writeMutex() {
return ESynchObjects::getMutex(writeMutexId()); }
71 ESemaphoreData &semFree() {
return ESynchObjects::getSemaphore(semFreeId()); }
72 ESemaphoreData &semMsgs() {
return ESynchObjects::getSemaphore(semMsgsId()); }
76 Void
init(Int nMsgSize, Int nMsgCnt, Int queueId, Bool bMultipleReaders,
79 EQueueBase::init(nMsgSize, nMsgCnt, queueId, bMultipleReaders, bMultipleWriters, eMode);
89 Bool m_multipleReaders;
90 Bool m_multipleWriters;
100 } esharedqueue_ctrl_t;
102 Int &readMutexId() {
return m_pCtrl->m_rmutexid; }
103 Int &writeMutexId() {
return m_pCtrl->m_wmutexid; }
105 Int &semFreeId() {
return m_pCtrl->m_semfreeid; }
106 Int &semMsgsId() {
return m_pCtrl->m_semmsgsid; }
109 esharedqueue_ctrl_t *m_pCtrl;
113 #endif // #define __eqpub_h_included #define True
True.
Definition: ebase.h:25
Defines a class for access to shared memory.
The shared memory access class.
Definition: eshmem.h:43
Contains the data associated with a public or private mutex.
Definition: esynch.h:72
Contains the data associated with a public or private semaphore.
Definition: esynch.h:268
EQueuePublic()
Default constructor.
Definition: eqpub.cpp:37
Provides base class support for sending and receiving messages via a message queue.
Void init(Int queueid, EQueueBase::Mode mode)
Initializes the queue object.
~EQueuePublic()
Class destructor.
Definition: eqpub.cpp:43
The message queue base class.
Definition: eqbase.h:120
DECLARE_ERROR_ADVANCED2(EQueuePublicError_QueueNotFound)
Mode
The queue access modes.
Definition: eqbase.h:127
Represents a message to be written to/read from a message queue.
Definition: eqbase.h:55