LibMultiSense
LibMultiSense Documentation
SysFlashResponseMessage.hh
Go to the documentation of this file.
1 
40 #ifndef LibMultiSense_SysFlashResponseMessage
41 #define LibMultiSense_SysFlashResponseMessage
42 
43 #include "utility/Portability.hh"
44 
45 namespace crl {
46 namespace multisense {
47 namespace details {
48 namespace wire {
49 
51 public:
54 
55  //
56  // Parameters representing the desired flash operation
57 
58  static CRL_CONSTEXPR uint32_t STATUS_IDLE = 0;// no operation in progress or requested
59  static CRL_CONSTEXPR uint32_t STATUS_SUCCESS = 1;// requested operation succeeded/started
60  static CRL_CONSTEXPR uint32_t STATUS_FAILURE = 2;// requested operation failed
61  static CRL_CONSTEXPR uint32_t STATUS_ERASE_IN_PROGRESS = 3;// operation not possible
62 
63  uint32_t status;
64 
65  //
66  // Only for ERASE_IN_PROGRESS status
67 
68  int32_t erase_progress;
69 
70  //
71  // Constructors
72 
75 
76  //
77  // Serialization routine
78 
79  template<class Archive>
80  void serialize(Archive& message,
81  const VersionType version)
82  {
83  (void) version;
84  message & status;
85  message & erase_progress;
86 
87  switch(status) {
88  case STATUS_IDLE:
89  case STATUS_SUCCESS:
90  case STATUS_FAILURE:
92  break;
93  default:
94  CRL_EXCEPTION("unknown status (%d)", (int)status);
95  }
96  }
97 };
98 
99 }}}} // namespaces
100 
101 #endif
crl::multisense::details::wire::SysFlashResponse::STATUS_SUCCESS
static CRL_CONSTEXPR uint32_t STATUS_SUCCESS
Definition: SysFlashResponseMessage.hh:59
crl::multisense::details::wire::SysFlashResponse::erase_progress
int32_t erase_progress
Definition: SysFlashResponseMessage.hh:68
Portability.hh
CRL_CONSTEXPR
#define CRL_CONSTEXPR
Definition: Portability.hh:49
crl::multisense::details::wire::SysFlashResponse::VERSION
static CRL_CONSTEXPR VersionType VERSION
Definition: SysFlashResponseMessage.hh:53
crl::multisense::details::wire::SysFlashResponse::SysFlashResponse
SysFlashResponse(utility::BufferStreamReader &r, VersionType v)
Definition: SysFlashResponseMessage.hh:73
crl
Definition: BufferStream.hh:51
crl::multisense::details::wire::SysFlashResponse::STATUS_IDLE
static CRL_CONSTEXPR uint32_t STATUS_IDLE
Definition: SysFlashResponseMessage.hh:58
crl::multisense::details::wire::SysFlashResponse::STATUS_FAILURE
static CRL_CONSTEXPR uint32_t STATUS_FAILURE
Definition: SysFlashResponseMessage.hh:60
crl::multisense::details::wire::VersionType
uint16_t VersionType
Definition: Protocol.hh:137
crl::multisense::details::wire::SysFlashResponse::ID
static CRL_CONSTEXPR IdType ID
Definition: SysFlashResponseMessage.hh:52
crl::multisense::details::utility::BufferStreamReader
Definition: BufferStream.hh:192
crl::multisense::details::wire::ID_DATA_SYS_FLASH_RESPONSE
static CRL_CONSTEXPR IdType ID_DATA_SYS_FLASH_RESPONSE
Definition: Protocol.hh:212
multisense
Definition: MultiSenseChannel.hh:44
CRL_EXCEPTION
#define CRL_EXCEPTION(fmt,...)
Definition: Exception.hh:85
crl::multisense::details::wire::SysFlashResponse::serialize
void serialize(Archive &message, const VersionType version)
Definition: SysFlashResponseMessage.hh:80
crl::multisense::details::wire::SysFlashResponse::SysFlashResponse
SysFlashResponse()
Definition: SysFlashResponseMessage.hh:74
crl::multisense::details::wire::SysFlashResponse::status
uint32_t status
Definition: SysFlashResponseMessage.hh:63
crl::multisense::details::wire::IdType
uint16_t IdType
Definition: Protocol.hh:136
crl::multisense::details::wire::SysFlashResponse::STATUS_ERASE_IN_PROGRESS
static CRL_CONSTEXPR uint32_t STATUS_ERASE_IN_PROGRESS
Definition: SysFlashResponseMessage.hh:61
crl::multisense::details::wire::SysFlashResponse
Definition: SysFlashResponseMessage.hh:50