00001 00037 #ifndef LibMultiSense_AckMessage 00038 #define LibMultiSense_AckMessage 00039 00040 #include "details/utility/Portability.hh" 00041 00042 namespace crl { 00043 namespace multisense { 00044 namespace details { 00045 namespace wire { 00046 00047 class Ack { 00048 public: 00049 static CRL_CONSTEXPR IdType ID = ID_ACK; 00050 static CRL_CONSTEXPR VersionType VERSION = 1; 00051 00052 IdType command; // the command being [n]ack'd 00053 Status status; 00054 00055 // 00056 // Constructors 00057 00058 Ack(utility::BufferStreamReader&r, VersionType v) {serialize(r,v);}; 00059 Ack(IdType c=0, Status s=Status_Ok) : command(c), status(s) {}; 00060 00061 // 00062 // Serialization routine 00063 00064 template<class Archive> 00065 void serialize(Archive& message, 00066 const VersionType version) 00067 { 00068 message & command; 00069 message & status; 00070 } 00071 }; 00072 00073 }}}}; // namespaces 00074 00075 #endif