Messages.hh
Go to the documentation of this file.
1 
37  #ifndef __FUU_Messages_H__
38  #define __FUU_Messages_H__
39 
40 #ifdef WIN32
41 #define INET_ADDRSTRLEN 16
42 #include <WinSock2.h>
43 #else
44 #include <netinet/in.h>
45 #endif
46 
47 
48 #include <stdint.h>
49 #include <cstring>
50 #include <string>
51 #include <iostream>
52 
53 #if defined (CRL_HAVE_CONSTEXPR)
54 #define CRL_CONSTEXPR constexpr
55 #else
56 #define CRL_CONSTEXPR const
57 #endif
58 
59 namespace Messages {
60 
61 static CRL_CONSTEXPR int SERVER_PORT = 4321;
62 static CRL_CONSTEXPR int BLOCK_SIZE = 1024;
63 
64 typedef uint32_t MessageType;
70 
71 typedef uint32_t StatusMessage;
95 inline std::string StatusString(StatusMessage s)
96 {
97  switch (s)
98  {
99  case Status_NotStarted: return "Not Started";
100  case Status_FileNotReceived: return "File Not Received";
101  case Status_FileReceived: return "File Received";
102  case Status_FileCheckComplete: return "File Integrity Check Complete";
103  case Status_FileCheckFailed: return "File Integrity Check Failed";
104  case Status_BackupComplete: return "Backup Complete";
105  case Status_BackupFailed: return "Backup Failed";
106  case Status_BootImageComplete: return "Boot Image Write Complete";
107  case Status_BootImageFailed: return "Boot Image Write Failed";
108  case Status_OSImageComplete: return "OS Image Write Complete";
109  case Status_OSImageFailed: return "OS Image Write Failed";
110  case Status_FSComplete: return "FS Write Complete";
111  case Status_FSFailed: return "FS Write Failed";
112  case Status_UpdateComplete: return "Update Complete";
113  case Status_UpdateFailed: return "Update Failed";
114  case Status_ClientConnected: return "Client Connected";
115  default: return "Unknown Status";
116  }
117 }
118 
120 {
121  std::cout << "-------------------------------------------------\n";
122  for (size_t i = 0; i < 32U; i++)
123  {
124  if ((1 << i) & s)
125  {
126  std::cout << StatusString(1<<i) << std::endl;
127  }
128  }
129  std::cout << "-------------------------------------------------\n\n";
130 }
131 
132 typedef int32_t UpdateStatusMessage;
136 
137 typedef uint32_t UpdateStatusId;
140 
141 #if defined (_MSC_VER) || defined(__MINGW64__)
142 #define PACK
143 #pragma pack(push,1)
144 #else
145 #define PACK __attribute__((packed,aligned(4)))
146 #endif
147 
149 
151  struct sockaddr_in ClientAddress;
152  struct sockaddr_in ServerAddress;
153 
154  MessageSetup(struct sockaddr_in & cl, struct sockaddr_in & sr)
155  {
156  Id = Message_Setup;
157  memcpy(&ClientAddress, &cl, sizeof(struct sockaddr_in));
158  memcpy(&ServerAddress, &sr, sizeof(struct sockaddr_in));
159  }
160 };
161 
164  uint32_t Sequence;
165  uint32_t Offset;
167  : Id(0), Sequence(0), Offset(0)
168  {
169  }
170 };
171 
174  uint32_t Length;
175  uint32_t Offset;
176  uint32_t Checksum;
177  uint32_t ChunkLen;
178  uint32_t Sequence;
179  uint8_t Buffer[BLOCK_SIZE];
180  MessageFileBlock(uint32_t _Length, uint32_t _Offset, uint32_t _CheckSum,
181  uint32_t _ChunkLen, uint32_t _Sequence, uint8_t *_Buffer)
182  : Id(Message_FileBlock), Length(_Length), Offset(_Offset),
183  Checksum(_CheckSum), ChunkLen(_ChunkLen), Sequence(_Sequence)
184  {
185  memcpy(Buffer, _Buffer, ChunkLen);
186  }
187 };
188 
190  uint32_t State;
191  float Progress;
192  uint32_t Id;
193  uint32_t Status;
194  uint32_t Reserved[4];
195 
197  :State(0), Progress(0.0f), Id(0), Status(0), Reserved()
198  {
199  }
200 };
201 
202 #if defined (_MSC_VER) || defined(__MINGW64__)
203 #pragma pack(pop)
204 #endif
205 } //namespace Messages
206 
207 #endif /* end of include guard: __FUU_Messages_H__ */
Messages::Status_BackupComplete
static CRL_CONSTEXPR StatusMessage Status_BackupComplete
Definition: Messages.hh:77
Messages::MessageUpdateStatus::Status
uint32_t Status
Definition: Messages.hh:193
Messages::MessageUpdateStatus::State
uint32_t State
Definition: Messages.hh:190
Messages::MessageUpdateStatus::Progress
float Progress
Definition: Messages.hh:191
Messages::Message_Setup
static CRL_CONSTEXPR MessageType Message_Setup
Definition: Messages.hh:66
Messages::Status_FileCheckComplete
static CRL_CONSTEXPR StatusMessage Status_FileCheckComplete
Definition: Messages.hh:75
multisense::Status
Status
Definition: LibMultiSense/include/MultiSense/MultiSenseTypes.hh:67
Messages::MessageBlockAck::Offset
uint32_t Offset
Definition: Messages.hh:165
Messages::MessageUpdateStatus::MessageUpdateStatus
MessageUpdateStatus()
Definition: Messages.hh:196
Messages::MessageType
uint32_t MessageType
Definition: Messages.hh:64
Messages::PrintStatus
void PrintStatus(StatusMessage s)
Definition: Messages.hh:119
Messages::MessageUpdateStatus
Definition: Messages.hh:189
Messages::StatusString
std::string StatusString(StatusMessage s)
Definition: Messages.hh:95
Messages::MessageFileBlock::Checksum
uint32_t Checksum
Definition: Messages.hh:176
Messages::SERVER_PORT
static CRL_CONSTEXPR int SERVER_PORT
Definition: Messages.hh:61
Messages::MessageBlockAck::Sequence
uint32_t Sequence
Definition: Messages.hh:164
Messages::Message_Reboot
static CRL_CONSTEXPR MessageType Message_Reboot
Definition: Messages.hh:69
CRL_CONSTEXPR
#define CRL_CONSTEXPR
Definition: Messages.hh:56
Messages::Status_FSComplete
static CRL_CONSTEXPR StatusMessage Status_FSComplete
Definition: Messages.hh:83
Messages::MessageFileBlock
Definition: Messages.hh:172
f
f
Messages::MessageBlockAck::MessageBlockAck
MessageBlockAck()
Definition: Messages.hh:166
Messages::MessageSetup
Definition: Messages.hh:148
Messages::Status_ClientConnected
static CRL_CONSTEXPR StatusMessage Status_ClientConnected
Definition: Messages.hh:87
Messages::UpdateStatusId_Message
static CRL_CONSTEXPR UpdateStatusId UpdateStatusId_Message
Definition: Messages.hh:138
Messages::MessageUpdateStatus::Id
uint32_t Id
Definition: Messages.hh:192
Messages::MessageFileBlock::ChunkLen
uint32_t ChunkLen
Definition: Messages.hh:177
Messages::Message_Status
static CRL_CONSTEXPR MessageType Message_Status
Definition: Messages.hh:68
Messages::MessageBlockAck::Id
MessageType Id
Definition: Messages.hh:163
Messages::Status_UpdateComplete
static CRL_CONSTEXPR StatusMessage Status_UpdateComplete
Definition: Messages.hh:85
Messages::MessageSetup::MessageSetup
MessageSetup(struct sockaddr_in &cl, struct sockaddr_in &sr)
Definition: Messages.hh:154
Messages::Status_FileCheckFailed
static CRL_CONSTEXPR StatusMessage Status_FileCheckFailed
Definition: Messages.hh:76
Messages::MessageFileBlock::Length
uint32_t Length
Definition: Messages.hh:174
Messages::MessageFileBlock::Sequence
uint32_t Sequence
Definition: Messages.hh:178
Messages::Status_OSImageFailed
static CRL_CONSTEXPR StatusMessage Status_OSImageFailed
Definition: Messages.hh:82
Messages::MessageFileBlock::Id
MessageType Id
Definition: Messages.hh:173
Messages::UpdateStatus_Done
static CRL_CONSTEXPR UpdateStatusMessage UpdateStatus_Done
Definition: Messages.hh:135
Messages
Definition: Messages.hh:59
Messages::Status_Error
static CRL_CONSTEXPR StatusMessage Status_Error
Definition: Messages.hh:88
Messages::Status_UpdateFailed
static CRL_CONSTEXPR StatusMessage Status_UpdateFailed
Definition: Messages.hh:86
Messages::Status_FSFailed
static CRL_CONSTEXPR StatusMessage Status_FSFailed
Definition: Messages.hh:84
Messages::UpdateStatusMessage
int32_t UpdateStatusMessage
Definition: Messages.hh:132
Messages::UpdateStatusId_ACK
static CRL_CONSTEXPR UpdateStatusId UpdateStatusId_ACK
Definition: Messages.hh:139
Messages::UpdateStatusId
uint32_t UpdateStatusId
Definition: Messages.hh:137
Messages::MessageBlockAck
Definition: Messages.hh:162
Messages::MessageFileBlock::Offset
uint32_t Offset
Definition: Messages.hh:175
Messages::MessageSetup::Id
MessageType Id
Definition: Messages.hh:150
Messages::Message_FileBlock
static CRL_CONSTEXPR MessageType Message_FileBlock
Definition: Messages.hh:67
Messages::StatusMessage
uint32_t StatusMessage
Definition: Messages.hh:71
Messages::Status_NotStarted
static CRL_CONSTEXPR StatusMessage Status_NotStarted
Definition: Messages.hh:72
Messages::Message_BlockAck
static CRL_CONSTEXPR MessageType Message_BlockAck
Definition: Messages.hh:65
Messages::Status_BackupFailed
static CRL_CONSTEXPR StatusMessage Status_BackupFailed
Definition: Messages.hh:78
Messages::MessageFileBlock::MessageFileBlock
MessageFileBlock(uint32_t _Length, uint32_t _Offset, uint32_t _CheckSum, uint32_t _ChunkLen, uint32_t _Sequence, uint8_t *_Buffer)
Definition: Messages.hh:180
Messages::UpdateStatus_Ok
static CRL_CONSTEXPR UpdateStatusMessage UpdateStatus_Ok
Definition: Messages.hh:134
Length
Length
Messages::Status_BootImageFailed
static CRL_CONSTEXPR StatusMessage Status_BootImageFailed
Definition: Messages.hh:80
Messages::Status_BootImageComplete
static CRL_CONSTEXPR StatusMessage Status_BootImageComplete
Definition: Messages.hh:79
Messages::Status_FileNotReceived
static CRL_CONSTEXPR StatusMessage Status_FileNotReceived
Definition: Messages.hh:73
Messages::Status_OSImageComplete
static CRL_CONSTEXPR StatusMessage Status_OSImageComplete
Definition: Messages.hh:81
PACK
#define PACK
Definition: Messages.hh:145
Messages::UpdateStatus_Error
static CRL_CONSTEXPR UpdateStatusMessage UpdateStatus_Error
Definition: Messages.hh:133
Messages::BLOCK_SIZE
static CRL_CONSTEXPR int BLOCK_SIZE
Definition: Messages.hh:62
Messages::Status_FileReceived
static CRL_CONSTEXPR StatusMessage Status_FileReceived
Definition: Messages.hh:74


multisense_lib
Author(s):
autogenerated on Thu Apr 17 2025 02:49:09