[mpl] Suggestion on handle protocol messages

Dear,
I need to handle a protocol defined with Protocol Buffers.
My messages are defined as:
enum EMessages {
E_MSG_METHOD_CONNECT = 0x8001,
E_MSG_EVENT_CONNECT = 0xA001,
...
}
struct MsgHeader {
long sessionRef;
long transactionId;
long status;
}
struct MSG_METHOD_CONNECT {
Messages opCode;
MsgHeader header;
.. other fields ..
}
Now, I defined an interface and a template class to add a level of
indirection..
class IMessage {
virtual INT getOpCode() = 0;
virtual STRING getName() = 0;
virtual size_t getSize() = 0;
....
}
template<class MESSAGE>
class IMessageImpl : public IMessage {
protected:
MESSAGE m_Message; ///< The Message Implementation
public:
virtual MESSAGE& getMessage() = 0;
};
Where I'll use IMessageImpl
participants (1)
-
Daniele Barzotti