EpcTools
An event based multi-threaded C++ development framework.
|
Go to the documentation of this file.
18 #ifndef __eqbase_h_included
19 #define __eqbase_h_included
76 m_msgType = a.m_msgType;
87 virtual Void
serialize(pVoid pBuffer, ULong &nOffset);
92 virtual Void
unserialize(pVoid pBuffer, ULong &nOffset);
154 virtual Bool isPublic() = 0;
155 virtual ULong &msgSize() = 0;
156 virtual Int &msgCnt() = 0;
157 virtual Long &msgHead() = 0;
158 virtual Long &msgTail() = 0;
159 virtual Bool &multipleReaders() = 0;
160 virtual Bool &multipleWriters() = 0;
161 virtual Int &numReaders() = 0;
162 virtual Int &numWriters() = 0;
163 virtual Int &refCnt() = 0;
164 virtual pChar data() = 0;
165 virtual Void allocDataSpace(cpStr sFile, Char cId, Int nSize) = 0;
166 virtual Void initReadMutex() = 0;
167 virtual Void initWriteMutex() = 0;
168 virtual Void initSemFree(UInt initialCount) = 0;
169 virtual Void initSemMsgs(UInt initialCount) = 0;
178 Mode mode() {
return m_mode; }
183 Void
init(ULong nMsgSize, Int nMsgCnt, Int queueId, Bool bMultipleReaders,
190 Char m_rBuffer[USHRT_MAX];
191 Char m_wBuffer[USHRT_MAX];
194 #endif // #define __eqbase_h_included
virtual Void getLength(ULong &length)
Calculates the length of the message.
Definition: eqbase.cpp:24
#define DECLARE_ERROR(__e__)
Declares exception class derived from EError with no constructor parameters.
Definition: eerror.h:53
Defines base class for exceptions and declaration helper macros.
Contains the data associated with a public or private semaphore.
Definition: esynch.h:268
Class for manipulating date and time of day values.
Definition: etime.h:199
#define True
True.
Definition: ebase.h:25
The message queue base class.
Definition: eqbase.h:120
Macros for various standard C library functions and standard includes.
Represents a message to be written to/read from a message queue.
Definition: eqbase.h:55
Void setMsgType(Long msgType)
Assigns the message type value.
Definition: eqbase.h:103
Contains definitions for synchronization objects.
virtual Void serialize(pVoid pBuffer, ULong &nOffset)
Serializes the message.
Definition: eqbase.cpp:30
ETime & getTimer()
Retrieves the message lifetime timer.
Definition: eqbase.h:96
Mode
The queue access modes.
Definition: eqbase.h:127
Provides class for manipulating time of day values.
Bool push(EQueueMessage &msg, Bool wait=True)
Writes a message to the queue.
Definition: eqbase.cpp:154
provides write only access
Definition: eqbase.h:132
The private queue class.
Definition: eqpriv.h:27
provides read/write access
Definition: eqbase.h:134
~EQueueMessage()
Class destructor.
Definition: eqbase.h:66
Classes used to encode and decode messages sent to and recieved from a message queue.
Void init(Int nMsgSize, Int nMsgCnt, Int queueId, Bool bMultipleReaders, Bool bMultipleWriters, EQueueBase::Mode eMode)
Initializes the private message queue.
Definition: eqpriv.h:42
EQueueMessage & operator=(const EQueueMessage &a)
Assignment operator.
Definition: eqbase.h:73
The message queue base message class.
Definition: emsg.h:29
virtual Void unserialize(pVoid pBuffer, ULong &nOffset)
Deserializes the message.
Definition: eqbase.cpp:36
Long getMsgType()
Retrieves the message type value.
Definition: eqbase.h:106
Void destroy()
Destroys the message queue.
Definition: eqbase.cpp:121
provivdes read only access
Definition: eqbase.h:130
EQueueMessage * pop(Bool wait=True)
Retrieves the next message from the queue.
Definition: eqbase.cpp:224
EQueueMessage()
Default constructor.
Definition: eqbase.h:61
Contains the data associated with a public or private mutex.
Definition: esynch.h:72