43 bool serialise(ecl::PushAndPop<unsigned char> & byteStream)
46 buildBytes(Header::Hardware, byteStream);
47 buildBytes(
length, byteStream);
48 buildBytes(data.version, byteStream);
52 bool deserialise(ecl::PushAndPop<unsigned char> & byteStream)
54 if (byteStream.size() <
static_cast<unsigned int>(
length)+2)
60 unsigned char header_id(0x00), length_packed(0x00);
61 buildVariable(header_id, byteStream);
62 buildVariable(length_packed, byteStream);
63 if( header_id != Header::Hardware )
return false;
64 if( length_packed != 2 and length_packed != 4)
return false;
68 if (length_packed == 2)
70 uint16_t old_style_version = 0;
71 buildVariable(old_style_version, byteStream);
73 if (old_style_version == 104)
74 data.version = 0x00010004;
78 buildVariable(data.version, byteStream);