Go to the documentation of this file.00001 #ifndef _ROS_manipulation_msgs_PlaceLocationResult_h
00002 #define _ROS_manipulation_msgs_PlaceLocationResult_h
00003
00004 #include <stdint.h>
00005 #include <string.h>
00006 #include <stdlib.h>
00007 #include "ros/msg.h"
00008
00009 namespace manipulation_msgs
00010 {
00011
00012 class PlaceLocationResult : public ros::Msg
00013 {
00014 public:
00015 int32_t result_code;
00016 bool continuation_possible;
00017 enum { SUCCESS = 1 };
00018 enum { PLACE_OUT_OF_REACH = 2 };
00019 enum { PLACE_IN_COLLISION = 3 };
00020 enum { PLACE_UNFEASIBLE = 4 };
00021 enum { PREPLACE_OUT_OF_REACH = 5 };
00022 enum { PREPLACE_IN_COLLISION = 6 };
00023 enum { PREPLACE_UNFEASIBLE = 7 };
00024 enum { RETREAT_OUT_OF_REACH = 8 };
00025 enum { RETREAT_IN_COLLISION = 9 };
00026 enum { RETREAT_UNFEASIBLE = 10 };
00027 enum { MOVE_ARM_FAILED = 11 };
00028 enum { PLACE_FAILED = 12 };
00029 enum { RETREAT_FAILED = 13 };
00030
00031 virtual int serialize(unsigned char *outbuffer) const
00032 {
00033 int offset = 0;
00034 union {
00035 int32_t real;
00036 uint32_t base;
00037 } u_result_code;
00038 u_result_code.real = this->result_code;
00039 *(outbuffer + offset + 0) = (u_result_code.base >> (8 * 0)) & 0xFF;
00040 *(outbuffer + offset + 1) = (u_result_code.base >> (8 * 1)) & 0xFF;
00041 *(outbuffer + offset + 2) = (u_result_code.base >> (8 * 2)) & 0xFF;
00042 *(outbuffer + offset + 3) = (u_result_code.base >> (8 * 3)) & 0xFF;
00043 offset += sizeof(this->result_code);
00044 union {
00045 bool real;
00046 uint8_t base;
00047 } u_continuation_possible;
00048 u_continuation_possible.real = this->continuation_possible;
00049 *(outbuffer + offset + 0) = (u_continuation_possible.base >> (8 * 0)) & 0xFF;
00050 offset += sizeof(this->continuation_possible);
00051 return offset;
00052 }
00053
00054 virtual int deserialize(unsigned char *inbuffer)
00055 {
00056 int offset = 0;
00057 union {
00058 int32_t real;
00059 uint32_t base;
00060 } u_result_code;
00061 u_result_code.base = 0;
00062 u_result_code.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
00063 u_result_code.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
00064 u_result_code.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
00065 u_result_code.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
00066 this->result_code = u_result_code.real;
00067 offset += sizeof(this->result_code);
00068 union {
00069 bool real;
00070 uint8_t base;
00071 } u_continuation_possible;
00072 u_continuation_possible.base = 0;
00073 u_continuation_possible.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0);
00074 this->continuation_possible = u_continuation_possible.real;
00075 offset += sizeof(this->continuation_possible);
00076 return offset;
00077 }
00078
00079 const char * getType(){ return "manipulation_msgs/PlaceLocationResult"; };
00080 const char * getMD5(){ return "8dd9edc3a2a98cab298ca81031224cda"; };
00081
00082 };
00083
00084 }
00085 #endif