Working towards recieving twists

Dependencies:   BufferedSerial

Fork of ros_lib_kinetic by Gary Servin

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers NodeletLoad.h Source File

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