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
MuxSelect.h
00001 #ifndef _ROS_SERVICE_MuxSelect_h 00002 #define _ROS_SERVICE_MuxSelect_h 00003 #include <stdint.h> 00004 #include <string.h> 00005 #include <stdlib.h> 00006 #include "ros/msg.h" 00007 00008 namespace topic_tools 00009 { 00010 00011 static const char MUXSELECT[] = "topic_tools/MuxSelect"; 00012 00013 class MuxSelectRequest : public ros::Msg 00014 { 00015 public: 00016 char * topic; 00017 00018 virtual int serialize(unsigned char *outbuffer) const 00019 { 00020 int offset = 0; 00021 uint32_t * length_topic = (uint32_t *)(outbuffer + offset); 00022 *length_topic = strlen( (const char*) this->topic); 00023 offset += 4; 00024 memcpy(outbuffer + offset, this->topic, *length_topic); 00025 offset += *length_topic; 00026 return offset; 00027 } 00028 00029 virtual int deserialize(unsigned char *inbuffer) 00030 { 00031 int offset = 0; 00032 uint32_t length_topic = *(uint32_t *)(inbuffer + offset); 00033 offset += 4; 00034 for(unsigned int k= offset; k< offset+length_topic; ++k){ 00035 inbuffer[k-1]=inbuffer[k]; 00036 } 00037 inbuffer[offset+length_topic-1]=0; 00038 this->topic = (char *)(inbuffer + offset-1); 00039 offset += length_topic; 00040 return offset; 00041 } 00042 00043 virtual const char * getType(){ return MUXSELECT; }; 00044 virtual const char * getMD5(){ return "d8f94bae31b356b24d0427f80426d0c3"; }; 00045 00046 }; 00047 00048 class MuxSelectResponse : public ros::Msg 00049 { 00050 public: 00051 char * prev_topic; 00052 00053 virtual int serialize(unsigned char *outbuffer) const 00054 { 00055 int offset = 0; 00056 uint32_t * length_prev_topic = (uint32_t *)(outbuffer + offset); 00057 *length_prev_topic = strlen( (const char*) this->prev_topic); 00058 offset += 4; 00059 memcpy(outbuffer + offset, this->prev_topic, *length_prev_topic); 00060 offset += *length_prev_topic; 00061 return offset; 00062 } 00063 00064 virtual int deserialize(unsigned char *inbuffer) 00065 { 00066 int offset = 0; 00067 uint32_t length_prev_topic = *(uint32_t *)(inbuffer + offset); 00068 offset += 4; 00069 for(unsigned int k= offset; k< offset+length_prev_topic; ++k){ 00070 inbuffer[k-1]=inbuffer[k]; 00071 } 00072 inbuffer[offset+length_prev_topic-1]=0; 00073 this->prev_topic = (char *)(inbuffer + offset-1); 00074 offset += length_prev_topic; 00075 return offset; 00076 } 00077 00078 virtual const char * getType(){ return MUXSELECT; }; 00079 virtual const char * getMD5(){ return "3db0a473debdbafea387c9e49358c320"; }; 00080 00081 }; 00082 00083 class MuxSelect { 00084 public: 00085 typedef MuxSelectRequest Request; 00086 typedef MuxSelectResponse Response; 00087 }; 00088 00089 } 00090 #endif
Generated on Tue Jul 12 2022 19:53:57 by
1.7.2
