Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of rosserial_mbed_lib by
KeyValue.h
00001 #ifndef _ROS_diagnostic_msgs_KeyValue_h 00002 #define _ROS_diagnostic_msgs_KeyValue_h 00003 00004 #include <stdint.h> 00005 #include <string.h> 00006 #include <stdlib.h> 00007 #include "ros/msg.h" 00008 00009 namespace diagnostic_msgs 00010 { 00011 00012 class KeyValue : public ros::Msg 00013 { 00014 public: 00015 char * key; 00016 char * value; 00017 00018 virtual int serialize(unsigned char *outbuffer) const 00019 { 00020 int offset = 0; 00021 uint32_t * length_key = (uint32_t *)(outbuffer + offset); 00022 *length_key = strlen( (const char*) this->key); 00023 offset += 4; 00024 memcpy(outbuffer + offset, this->key, *length_key); 00025 offset += *length_key; 00026 uint32_t * length_value = (uint32_t *)(outbuffer + offset); 00027 *length_value = strlen( (const char*) this->value); 00028 offset += 4; 00029 memcpy(outbuffer + offset, this->value, *length_value); 00030 offset += *length_value; 00031 return offset; 00032 } 00033 00034 virtual int deserialize(unsigned char *inbuffer) 00035 { 00036 int offset = 0; 00037 uint32_t length_key = *(uint32_t *)(inbuffer + offset); 00038 offset += 4; 00039 for(unsigned int k= offset; k< offset+length_key; ++k){ 00040 inbuffer[k-1]=inbuffer[k]; 00041 } 00042 inbuffer[offset+length_key-1]=0; 00043 this->key = (char *)(inbuffer + offset-1); 00044 offset += length_key; 00045 uint32_t length_value = *(uint32_t *)(inbuffer + offset); 00046 offset += 4; 00047 for(unsigned int k= offset; k< offset+length_value; ++k){ 00048 inbuffer[k-1]=inbuffer[k]; 00049 } 00050 inbuffer[offset+length_value-1]=0; 00051 this->value = (char *)(inbuffer + offset-1); 00052 offset += length_value; 00053 return offset; 00054 } 00055 00056 virtual const char * getType(){ return "diagnostic_msgs/KeyValue"; }; 00057 virtual const char * getMD5(){ return "cf57fdc6617a881a88c16e768132149c"; }; 00058 00059 }; 00060 00061 } 00062 #endif
Generated on Tue Jul 12 2022 19:53:57 by
1.7.2
