headers.hpp
Go to the documentation of this file.
00001 
00006 /*****************************************************************************
00007 ** Ifdefs
00008 *****************************************************************************/
00009 
00010 #ifndef mm_messages_HEADERS_HPP_
00011 #define mm_messages_HEADERS_HPP_
00012 
00013 /*****************************************************************************
00014 ** Includes
00015 *****************************************************************************/
00016 
00017 #include <string>
00018 #include "message.hpp"
00019 
00020 /*****************************************************************************
00021 ** Namespaces
00022 *****************************************************************************/
00023 
00024 namespace mm_messages {
00025 
00026 /*****************************************************************************
00027 ** Definitions
00028 *****************************************************************************/
00029 
00030 struct PacketHeader {
00031   static const unsigned int size;
00032   PacketHeader(const unsigned int& signature=0xaa55aa55) : signature(signature) {}
00033   unsigned int signature;
00034 };
00035 
00036 struct SubPacketHeader {
00037   static const unsigned int size;
00038   SubPacketHeader(const int& id=-1, const unsigned int& length = 0);
00039   int id;
00040   unsigned int length;
00041 };
00042 
00043 /*****************************************************************************
00044 ** Serialisations
00045 *****************************************************************************/
00046 
00047 template<>
00048 struct Message<PacketHeader> {
00050   static void encode(const PacketHeader& header, ByteArray& buffer);
00051   static PacketHeader decode(const unsigned char* buffer, const unsigned int& size);
00052 };
00053 
00054 template<>
00055 struct Message<SubPacketHeader> {
00057   static void encode(const SubPacketHeader& header, ByteArray& buffer);
00058   static SubPacketHeader decode(const unsigned char* buffer, const unsigned int& size);
00059 };
00060 
00061 } // namespace mm_messages
00062 
00063 #endif /* mm_messages_HEADERS_HPP_ */


mm_messages
Author(s): Daniel Stonier
autogenerated on Thu Jun 6 2019 21:13:16