00001 00040 #ifndef LibMultiSense_VersionResponseMessage 00041 #define LibMultiSense_VersionResponseMessage 00042 00043 #include "details/utility/Portability.hh" 00044 00045 namespace crl { 00046 namespace multisense { 00047 namespace details { 00048 namespace wire { 00049 00050 class VersionResponse { 00051 public: 00052 static CRL_CONSTEXPR IdType ID = ID_DATA_VERSION; 00053 static CRL_CONSTEXPR VersionType VERSION = 1; 00054 00055 std::string firmwareBuildDate; 00056 VersionType firmwareVersion; 00057 uint64_t hardwareVersion; 00058 uint64_t hardwareMagic; 00059 uint64_t fpgaDna; 00060 00061 // 00062 // Constructors 00063 00064 VersionResponse(utility::BufferStreamReader&r, VersionType v) {serialize(r,v);}; 00065 VersionResponse() : firmwareBuildDate(), 00066 firmwareVersion(0), 00067 hardwareVersion(0), 00068 hardwareMagic(0), 00069 fpgaDna(0) {}; 00070 00071 // 00072 // Serialization routine 00073 00074 template<class Archive> 00075 void serialize(Archive& message, 00076 const VersionType version) 00077 { 00078 message & firmwareBuildDate; 00079 message & firmwareVersion; 00080 message & hardwareVersion; 00081 message & hardwareMagic; 00082 message & fpgaDna; 00083 } 00084 }; 00085 00086 }}}}; // namespaces 00087 00088 #endif