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.
Dependents: rosserial_mbed_hello_world_publisher rtos_base_control rosserial_mbed_F64MA ROS-RTOS ... more
NodeletLoad.h
00001 #ifndef _ROS_SERVICE_NodeletLoad_h 00002 #define _ROS_SERVICE_NodeletLoad_h 00003 #include <stdint.h> 00004 #include <string.h> 00005 #include <stdlib.h> 00006 #include "ros/msg.h" 00007 00008 namespace nodelet 00009 { 00010 00011 static const char NODELETLOAD[] = "nodelet/NodeletLoad"; 00012 00013 class NodeletLoadRequest : public ros::Msg 00014 { 00015 public: 00016 const char* name; 00017 const char* type; 00018 uint8_t remap_source_args_length; 00019 char* st_remap_source_args; 00020 char* * remap_source_args; 00021 uint8_t remap_target_args_length; 00022 char* st_remap_target_args; 00023 char* * remap_target_args; 00024 uint8_t my_argv_length; 00025 char* st_my_argv; 00026 char* * my_argv; 00027 const char* bond_id; 00028 00029 NodeletLoadRequest(): 00030 name(""), 00031 type(""), 00032 remap_source_args_length(0), remap_source_args(NULL), 00033 remap_target_args_length(0), remap_target_args(NULL), 00034 my_argv_length(0), my_argv(NULL), 00035 bond_id("") 00036 { 00037 } 00038 00039 virtual int serialize(unsigned char *outbuffer) const 00040 { 00041 int offset = 0; 00042 uint32_t length_name = strlen(this->name); 00043 memcpy(outbuffer + offset, &length_name, sizeof(uint32_t)); 00044 offset += 4; 00045 memcpy(outbuffer + offset, this->name, length_name); 00046 offset += length_name; 00047 uint32_t length_type = strlen(this->type); 00048 memcpy(outbuffer + offset, &length_type, sizeof(uint32_t)); 00049 offset += 4; 00050 memcpy(outbuffer + offset, this->type, length_type); 00051 offset += length_type; 00052 *(outbuffer + offset++) = remap_source_args_length; 00053 *(outbuffer + offset++) = 0; 00054 *(outbuffer + offset++) = 0; 00055 *(outbuffer + offset++) = 0; 00056 for( uint8_t i = 0; i < remap_source_args_length; i++){ 00057 uint32_t length_remap_source_argsi = strlen(this->remap_source_args[i]); 00058 memcpy(outbuffer + offset, &length_remap_source_argsi, sizeof(uint32_t)); 00059 offset += 4; 00060 memcpy(outbuffer + offset, this->remap_source_args[i], length_remap_source_argsi); 00061 offset += length_remap_source_argsi; 00062 } 00063 *(outbuffer + offset++) = remap_target_args_length; 00064 *(outbuffer + offset++) = 0; 00065 *(outbuffer + offset++) = 0; 00066 *(outbuffer + offset++) = 0; 00067 for( uint8_t i = 0; i < remap_target_args_length; i++){ 00068 uint32_t length_remap_target_argsi = strlen(this->remap_target_args[i]); 00069 memcpy(outbuffer + offset, &length_remap_target_argsi, sizeof(uint32_t)); 00070 offset += 4; 00071 memcpy(outbuffer + offset, this->remap_target_args[i], length_remap_target_argsi); 00072 offset += length_remap_target_argsi; 00073 } 00074 *(outbuffer + offset++) = my_argv_length; 00075 *(outbuffer + offset++) = 0; 00076 *(outbuffer + offset++) = 0; 00077 *(outbuffer + offset++) = 0; 00078 for( uint8_t i = 0; i < my_argv_length; i++){ 00079 uint32_t length_my_argvi = strlen(this->my_argv[i]); 00080 memcpy(outbuffer + offset, &length_my_argvi, sizeof(uint32_t)); 00081 offset += 4; 00082 memcpy(outbuffer + offset, this->my_argv[i], length_my_argvi); 00083 offset += length_my_argvi; 00084 } 00085 uint32_t length_bond_id = strlen(this->bond_id); 00086 memcpy(outbuffer + offset, &length_bond_id, sizeof(uint32_t)); 00087 offset += 4; 00088 memcpy(outbuffer + offset, this->bond_id, length_bond_id); 00089 offset += length_bond_id; 00090 return offset; 00091 } 00092 00093 virtual int deserialize(unsigned char *inbuffer) 00094 { 00095 int offset = 0; 00096 uint32_t length_name; 00097 memcpy(&length_name, (inbuffer + offset), sizeof(uint32_t)); 00098 offset += 4; 00099 for(unsigned int k= offset; k< offset+length_name; ++k){ 00100 inbuffer[k-1]=inbuffer[k]; 00101 } 00102 inbuffer[offset+length_name-1]=0; 00103 this->name = (char *)(inbuffer + offset-1); 00104 offset += length_name; 00105 uint32_t length_type; 00106 memcpy(&length_type, (inbuffer + offset), sizeof(uint32_t)); 00107 offset += 4; 00108 for(unsigned int k= offset; k< offset+length_type; ++k){ 00109 inbuffer[k-1]=inbuffer[k]; 00110 } 00111 inbuffer[offset+length_type-1]=0; 00112 this->type = (char *)(inbuffer + offset-1); 00113 offset += length_type; 00114 uint8_t remap_source_args_lengthT = *(inbuffer + offset++); 00115 if(remap_source_args_lengthT > remap_source_args_length) 00116 this->remap_source_args = (char**)realloc(this->remap_source_args, remap_source_args_lengthT * sizeof(char*)); 00117 offset += 3; 00118 remap_source_args_length = remap_source_args_lengthT; 00119 for( uint8_t i = 0; i < remap_source_args_length; i++){ 00120 uint32_t length_st_remap_source_args; 00121 memcpy(&length_st_remap_source_args, (inbuffer + offset), sizeof(uint32_t)); 00122 offset += 4; 00123 for(unsigned int k= offset; k< offset+length_st_remap_source_args; ++k){ 00124 inbuffer[k-1]=inbuffer[k]; 00125 } 00126 inbuffer[offset+length_st_remap_source_args-1]=0; 00127 this->st_remap_source_args = (char *)(inbuffer + offset-1); 00128 offset += length_st_remap_source_args; 00129 memcpy( &(this->remap_source_args[i]), &(this->st_remap_source_args), sizeof(char*)); 00130 } 00131 uint8_t remap_target_args_lengthT = *(inbuffer + offset++); 00132 if(remap_target_args_lengthT > remap_target_args_length) 00133 this->remap_target_args = (char**)realloc(this->remap_target_args, remap_target_args_lengthT * sizeof(char*)); 00134 offset += 3; 00135 remap_target_args_length = remap_target_args_lengthT; 00136 for( uint8_t i = 0; i < remap_target_args_length; i++){ 00137 uint32_t length_st_remap_target_args; 00138 memcpy(&length_st_remap_target_args, (inbuffer + offset), sizeof(uint32_t)); 00139 offset += 4; 00140 for(unsigned int k= offset; k< offset+length_st_remap_target_args; ++k){ 00141 inbuffer[k-1]=inbuffer[k]; 00142 } 00143 inbuffer[offset+length_st_remap_target_args-1]=0; 00144 this->st_remap_target_args = (char *)(inbuffer + offset-1); 00145 offset += length_st_remap_target_args; 00146 memcpy( &(this->remap_target_args[i]), &(this->st_remap_target_args), sizeof(char*)); 00147 } 00148 uint8_t my_argv_lengthT = *(inbuffer + offset++); 00149 if(my_argv_lengthT > my_argv_length) 00150 this->my_argv = (char**)realloc(this->my_argv, my_argv_lengthT * sizeof(char*)); 00151 offset += 3; 00152 my_argv_length = my_argv_lengthT; 00153 for( uint8_t i = 0; i < my_argv_length; i++){ 00154 uint32_t length_st_my_argv; 00155 memcpy(&length_st_my_argv, (inbuffer + offset), sizeof(uint32_t)); 00156 offset += 4; 00157 for(unsigned int k= offset; k< offset+length_st_my_argv; ++k){ 00158 inbuffer[k-1]=inbuffer[k]; 00159 } 00160 inbuffer[offset+length_st_my_argv-1]=0; 00161 this->st_my_argv = (char *)(inbuffer + offset-1); 00162 offset += length_st_my_argv; 00163 memcpy( &(this->my_argv[i]), &(this->st_my_argv), sizeof(char*)); 00164 } 00165 uint32_t length_bond_id; 00166 memcpy(&length_bond_id, (inbuffer + offset), sizeof(uint32_t)); 00167 offset += 4; 00168 for(unsigned int k= offset; k< offset+length_bond_id; ++k){ 00169 inbuffer[k-1]=inbuffer[k]; 00170 } 00171 inbuffer[offset+length_bond_id-1]=0; 00172 this->bond_id = (char *)(inbuffer + offset-1); 00173 offset += length_bond_id; 00174 return offset; 00175 } 00176 00177 const char * getType(){ return NODELETLOAD; }; 00178 const char * getMD5(){ return "c6e28cc4d2e259249d96cfb50658fbec"; }; 00179 00180 }; 00181 00182 class NodeletLoadResponse : public ros::Msg 00183 { 00184 public: 00185 bool success; 00186 00187 NodeletLoadResponse(): 00188 success(0) 00189 { 00190 } 00191 00192 virtual int serialize(unsigned char *outbuffer) const 00193 { 00194 int offset = 0; 00195 union { 00196 bool real; 00197 uint8_t base; 00198 } u_success; 00199 u_success.real = this->success; 00200 *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; 00201 offset += sizeof(this->success); 00202 return offset; 00203 } 00204 00205 virtual int deserialize(unsigned char *inbuffer) 00206 { 00207 int offset = 0; 00208 union { 00209 bool real; 00210 uint8_t base; 00211 } u_success; 00212 u_success.base = 0; 00213 u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); 00214 this->success = u_success.real; 00215 offset += sizeof(this->success); 00216 return offset; 00217 } 00218 00219 const char * getType(){ return NODELETLOAD; }; 00220 const char * getMD5(){ return "358e233cde0c8a8bcfea4ce193f8fc15"; }; 00221 00222 }; 00223 00224 class NodeletLoad { 00225 public: 00226 typedef NodeletLoadRequest Request; 00227 typedef NodeletLoadResponse Response; 00228 }; 00229 00230 } 00231 #endif
Generated on Tue Jul 12 2022 18:39:40 by
1.7.2