kitt_platform
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros
MultiArrayDimension.h
Go to the documentation of this file.
1 #ifndef _ROS_std_msgs_MultiArrayDimension_h
2 #define _ROS_std_msgs_MultiArrayDimension_h
3 
4 #include <stdint.h>
5 #include <string.h>
6 #include <stdlib.h>
7 #include "ros/msg.h"
8 
9 namespace std_msgs
10 {
11 
13  {
14  public:
15  const char* label;
16  uint32_t size;
17  uint32_t stride;
18 
20  label(""),
21  size(0),
22  stride(0)
23  {
24  }
25 
26  virtual int serialize(unsigned char *outbuffer) const
27  {
28  int offset = 0;
29  uint32_t length_label = strlen(this->label);
30  memcpy(outbuffer + offset, &length_label, sizeof(uint32_t));
31  offset += 4;
32  memcpy(outbuffer + offset, this->label, length_label);
33  offset += length_label;
34  *(outbuffer + offset + 0) = (this->size >> (8 * 0)) & 0xFF;
35  *(outbuffer + offset + 1) = (this->size >> (8 * 1)) & 0xFF;
36  *(outbuffer + offset + 2) = (this->size >> (8 * 2)) & 0xFF;
37  *(outbuffer + offset + 3) = (this->size >> (8 * 3)) & 0xFF;
38  offset += sizeof(this->size);
39  *(outbuffer + offset + 0) = (this->stride >> (8 * 0)) & 0xFF;
40  *(outbuffer + offset + 1) = (this->stride >> (8 * 1)) & 0xFF;
41  *(outbuffer + offset + 2) = (this->stride >> (8 * 2)) & 0xFF;
42  *(outbuffer + offset + 3) = (this->stride >> (8 * 3)) & 0xFF;
43  offset += sizeof(this->stride);
44  return offset;
45  }
46 
47  virtual int deserialize(unsigned char *inbuffer)
48  {
49  int offset = 0;
50  uint32_t length_label;
51  memcpy(&length_label, (inbuffer + offset), sizeof(uint32_t));
52  offset += 4;
53  for(unsigned int k= offset; k< offset+length_label; ++k){
54  inbuffer[k-1]=inbuffer[k];
55  }
56  inbuffer[offset+length_label-1]=0;
57  this->label = (char *)(inbuffer + offset-1);
58  offset += length_label;
59  this->size = ((uint32_t) (*(inbuffer + offset)));
60  this->size |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
61  this->size |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
62  this->size |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
63  offset += sizeof(this->size);
64  this->stride = ((uint32_t) (*(inbuffer + offset)));
65  this->stride |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
66  this->stride |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
67  this->stride |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
68  offset += sizeof(this->stride);
69  return offset;
70  }
71 
72  const char * getType(){ return "std_msgs/MultiArrayDimension"; };
73  const char * getMD5(){ return "4cd0c83a8683deae40ecdac60e53bfa8"; };
74 
75  };
76 
77 }
78 #endif
uint32_t stride
Definition: MultiArrayDimension.h:17
virtual int deserialize(unsigned char *inbuffer)
Definition: MultiArrayDimension.h:47
const char * getMD5()
Definition: MultiArrayDimension.h:73
const char * label
Definition: MultiArrayDimension.h:15
Definition: MultiArrayDimension.h:12
MultiArrayDimension()
Definition: MultiArrayDimension.h:19
uint32_t size
Definition: MultiArrayDimension.h:16
virtual int serialize(unsigned char *outbuffer) const
Definition: MultiArrayDimension.h:26
const char * getType()
Definition: MultiArrayDimension.h:72
Definition: msg.h:43