9 #ifndef DtMessageFactory_H_
10 #define DtMessageFactory_H_
17 #include <vlutil/vlBaseMsg.h>
32 template <
typename T_Message,
typename T_MessageKind,
typename T_NetworkHeader>
41 typedef T_Message* (*DtReceiveMessageCreator)(
42 const T_NetworkHeader* packet, MAKRti::DtBufferPtr buffer);
46 typedef T_Message* (*DtSendMessageCreator)(MAKRti::DtBufferPtr buffer);
75 T_Message*
create(T_MessageKind kind,
76 MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
92 T_Message*
create(
const T_NetworkHeader* packet,
93 MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
117 int packetGood(
const T_NetworkHeader* packet)
const;
133 #include "messageFactory.inl"
DtMessageFactory & operator=(const DtMessageFactory &orig)
Operator - Assignment.
DtSendCreatorMap mySendCreators
A map of the send message creator functions.
Definition: messageFactory.h:127
DtReceiveCreatorMap myReceiveCreators
A map of the receive message creator functions.
Definition: messageFactory.h:130
T_Message * create(T_MessageKind kind, MAKRti::DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
Create a blank message to be filled.
void addCreators(T_MessageKind kind, DtReceiveMessageCreator rCreator, DtSendMessageCreator sCreator)
Add both types of msg creators (for sending and receiving) at once.
T_Message *(* DtSendMessageCreator)(MAKRti::DtBufferPtr buffer)
Function type for creating blank messages for sending.
Definition: messageFactory.h:46
DtMessageFactory()
Constructor - Default.
The DtMessageFactory template can be instantiated to declare a message factory for a given message cl...
Definition: messageFactory.h:33
~DtMessageFactory()
Destructor.
T_Message *(* DtReceiveMessageCreator)(const T_NetworkHeader *packet, MAKRti::DtBufferPtr buffer)
Function type for creating messages received from the network using the given message header and pack...
Definition: messageFactory.h:41
DtSendMessageCreator addSendCreator(T_MessageKind kind, DtSendMessageCreator creator)
Add to the factory a msg creation function used for sending messages.
std::map< T_MessageKind, DtReceiveMessageCreator > DtReceiveCreatorMap
A map from message kind to a receive creator function.
Definition: messageFactory.h:49
static int dfltPacketGood(const T_NetworkHeader *packet)
Default check for packet being good.
DtReceiveMessageCreator addRecvCreator(T_MessageKind kind, DtReceiveMessageCreator creator)
Add to the factory a msg creation function used for receiving messages.
std::map< T_MessageKind, DtSendMessageCreator > DtSendCreatorMap
A map from message kind to a send creator function.
Definition: messageFactory.h:52
int packetGood(const T_NetworkHeader *packet) const
Check that the message packet is good.