ROS Serial library for Mbed platforms for ROS Indigo Igloo. Check http://wiki.ros.org/rosserial_mbed/ for more information

Dependencies:   BufferedSerial

Dependents:   rosserial_mbed_hello_world_publisher rtos_base_control rosserial_mbed_F64MA ROS-RTOS ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers DeleteModel.h Source File

DeleteModel.h

00001 #ifndef _ROS_SERVICE_DeleteModel_h
00002 #define _ROS_SERVICE_DeleteModel_h
00003 #include <stdint.h>
00004 #include <string.h>
00005 #include <stdlib.h>
00006 #include "ros/msg.h"
00007 
00008 namespace gazebo_msgs
00009 {
00010 
00011 static const char DELETEMODEL[] = "gazebo_msgs/DeleteModel";
00012 
00013   class DeleteModelRequest : public ros::Msg
00014   {
00015     public:
00016       const char* model_name;
00017 
00018     DeleteModelRequest():
00019       model_name("")
00020     {
00021     }
00022 
00023     virtual int serialize(unsigned char *outbuffer) const
00024     {
00025       int offset = 0;
00026       uint32_t length_model_name = strlen(this->model_name);
00027       memcpy(outbuffer + offset, &length_model_name, sizeof(uint32_t));
00028       offset += 4;
00029       memcpy(outbuffer + offset, this->model_name, length_model_name);
00030       offset += length_model_name;
00031       return offset;
00032     }
00033 
00034     virtual int deserialize(unsigned char *inbuffer)
00035     {
00036       int offset = 0;
00037       uint32_t length_model_name;
00038       memcpy(&length_model_name, (inbuffer + offset), sizeof(uint32_t));
00039       offset += 4;
00040       for(unsigned int k= offset; k< offset+length_model_name; ++k){
00041           inbuffer[k-1]=inbuffer[k];
00042       }
00043       inbuffer[offset+length_model_name-1]=0;
00044       this->model_name = (char *)(inbuffer + offset-1);
00045       offset += length_model_name;
00046      return offset;
00047     }
00048 
00049     const char * getType(){ return DELETEMODEL; };
00050     const char * getMD5(){ return "ea31c8eab6fc401383cf528a7c0984ba"; };
00051 
00052   };
00053 
00054   class DeleteModelResponse : public ros::Msg
00055   {
00056     public:
00057       bool success;
00058       const char* status_message;
00059 
00060     DeleteModelResponse():
00061       success(0),
00062       status_message("")
00063     {
00064     }
00065 
00066     virtual int serialize(unsigned char *outbuffer) const
00067     {
00068       int offset = 0;
00069       union {
00070         bool real;
00071         uint8_t base;
00072       } u_success;
00073       u_success.real = this->success;
00074       *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF;
00075       offset += sizeof(this->success);
00076       uint32_t length_status_message = strlen(this->status_message);
00077       memcpy(outbuffer + offset, &length_status_message, sizeof(uint32_t));
00078       offset += 4;
00079       memcpy(outbuffer + offset, this->status_message, length_status_message);
00080       offset += length_status_message;
00081       return offset;
00082     }
00083 
00084     virtual int deserialize(unsigned char *inbuffer)
00085     {
00086       int offset = 0;
00087       union {
00088         bool real;
00089         uint8_t base;
00090       } u_success;
00091       u_success.base = 0;
00092       u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0);
00093       this->success = u_success.real;
00094       offset += sizeof(this->success);
00095       uint32_t length_status_message;
00096       memcpy(&length_status_message, (inbuffer + offset), sizeof(uint32_t));
00097       offset += 4;
00098       for(unsigned int k= offset; k< offset+length_status_message; ++k){
00099           inbuffer[k-1]=inbuffer[k];
00100       }
00101       inbuffer[offset+length_status_message-1]=0;
00102       this->status_message = (char *)(inbuffer + offset-1);
00103       offset += length_status_message;
00104      return offset;
00105     }
00106 
00107     const char * getType(){ return DELETEMODEL; };
00108     const char * getMD5(){ return "2ec6f3eff0161f4257b808b12bc830c2"; };
00109 
00110   };
00111 
00112   class DeleteModel {
00113     public:
00114     typedef DeleteModelRequest Request;
00115     typedef DeleteModelResponse Response;
00116   };
00117 
00118 }
00119 #endif