00001
00002 #ifndef CLEARPATH_BASE_MESSAGE_CLEARPATHROBOT_H
00003 #define CLEARPATH_BASE_MESSAGE_CLEARPATHROBOT_H
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include <ostream>
00008 #include "ros/serialization.h"
00009 #include "ros/builtin_message_traits.h"
00010 #include "ros/message_operations.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/macros.h"
00014
00015 #include "ros/assert.h"
00016
00017
00018 namespace clearpath_base
00019 {
00020 template <class ContainerAllocator>
00021 struct ClearpathRobot_ {
00022 typedef ClearpathRobot_<ContainerAllocator> Type;
00023
00024 ClearpathRobot_()
00025 : name()
00026 , model()
00027 , platform_revision(0)
00028 , serial(0)
00029 , horizon_version()
00030 , firmware_version()
00031 , firmware_revision(0)
00032 , write_date()
00033 {
00034 horizon_version.assign(0);
00035 firmware_version.assign(0);
00036 }
00037
00038 ClearpathRobot_(const ContainerAllocator& _alloc)
00039 : name(_alloc)
00040 , model(_alloc)
00041 , platform_revision(0)
00042 , serial(0)
00043 , horizon_version()
00044 , firmware_version()
00045 , firmware_revision(0)
00046 , write_date(_alloc)
00047 {
00048 horizon_version.assign(0);
00049 firmware_version.assign(0);
00050 }
00051
00052 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _name_type;
00053 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > name;
00054
00055 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _model_type;
00056 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > model;
00057
00058 typedef int32_t _platform_revision_type;
00059 int32_t platform_revision;
00060
00061 typedef uint32_t _serial_type;
00062 uint32_t serial;
00063
00064 typedef boost::array<int32_t, 2> _horizon_version_type;
00065 boost::array<int32_t, 2> horizon_version;
00066
00067 typedef boost::array<int32_t, 2> _firmware_version_type;
00068 boost::array<int32_t, 2> firmware_version;
00069
00070 typedef int32_t _firmware_revision_type;
00071 int32_t firmware_revision;
00072
00073 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _write_date_type;
00074 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > write_date;
00075
00076
00077 typedef boost::shared_ptr< ::clearpath_base::ClearpathRobot_<ContainerAllocator> > Ptr;
00078 typedef boost::shared_ptr< ::clearpath_base::ClearpathRobot_<ContainerAllocator> const> ConstPtr;
00079 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00080 };
00081 typedef ::clearpath_base::ClearpathRobot_<std::allocator<void> > ClearpathRobot;
00082
00083 typedef boost::shared_ptr< ::clearpath_base::ClearpathRobot> ClearpathRobotPtr;
00084 typedef boost::shared_ptr< ::clearpath_base::ClearpathRobot const> ClearpathRobotConstPtr;
00085
00086
00087 template<typename ContainerAllocator>
00088 std::ostream& operator<<(std::ostream& s, const ::clearpath_base::ClearpathRobot_<ContainerAllocator> & v)
00089 {
00090 ros::message_operations::Printer< ::clearpath_base::ClearpathRobot_<ContainerAllocator> >::stream(s, "", v);
00091 return s;}
00092
00093 }
00094
00095 namespace ros
00096 {
00097 namespace message_traits
00098 {
00099 template<class ContainerAllocator> struct IsMessage< ::clearpath_base::ClearpathRobot_<ContainerAllocator> > : public TrueType {};
00100 template<class ContainerAllocator> struct IsMessage< ::clearpath_base::ClearpathRobot_<ContainerAllocator> const> : public TrueType {};
00101 template<class ContainerAllocator>
00102 struct MD5Sum< ::clearpath_base::ClearpathRobot_<ContainerAllocator> > {
00103 static const char* value()
00104 {
00105 return "1bdab2b789676c1b350ab6739da650c7";
00106 }
00107
00108 static const char* value(const ::clearpath_base::ClearpathRobot_<ContainerAllocator> &) { return value(); }
00109 static const uint64_t static_value1 = 0x1bdab2b789676c1bULL;
00110 static const uint64_t static_value2 = 0x350ab6739da650c7ULL;
00111 };
00112
00113 template<class ContainerAllocator>
00114 struct DataType< ::clearpath_base::ClearpathRobot_<ContainerAllocator> > {
00115 static const char* value()
00116 {
00117 return "clearpath_base/ClearpathRobot";
00118 }
00119
00120 static const char* value(const ::clearpath_base::ClearpathRobot_<ContainerAllocator> &) { return value(); }
00121 };
00122
00123 template<class ContainerAllocator>
00124 struct Definition< ::clearpath_base::ClearpathRobot_<ContainerAllocator> > {
00125 static const char* value()
00126 {
00127 return "string name\n\
00128 string model\n\
00129 int32 platform_revision\n\
00130 uint32 serial\n\
00131 int32[2] horizon_version\n\
00132 int32[2] firmware_version\n\
00133 int32 firmware_revision\n\
00134 string write_date\n\
00135 \n\
00136 ";
00137 }
00138
00139 static const char* value(const ::clearpath_base::ClearpathRobot_<ContainerAllocator> &) { return value(); }
00140 };
00141
00142 }
00143 }
00144
00145 namespace ros
00146 {
00147 namespace serialization
00148 {
00149
00150 template<class ContainerAllocator> struct Serializer< ::clearpath_base::ClearpathRobot_<ContainerAllocator> >
00151 {
00152 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00153 {
00154 stream.next(m.name);
00155 stream.next(m.model);
00156 stream.next(m.platform_revision);
00157 stream.next(m.serial);
00158 stream.next(m.horizon_version);
00159 stream.next(m.firmware_version);
00160 stream.next(m.firmware_revision);
00161 stream.next(m.write_date);
00162 }
00163
00164 ROS_DECLARE_ALLINONE_SERIALIZER;
00165 };
00166 }
00167 }
00168
00169 namespace ros
00170 {
00171 namespace message_operations
00172 {
00173
00174 template<class ContainerAllocator>
00175 struct Printer< ::clearpath_base::ClearpathRobot_<ContainerAllocator> >
00176 {
00177 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::clearpath_base::ClearpathRobot_<ContainerAllocator> & v)
00178 {
00179 s << indent << "name: ";
00180 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.name);
00181 s << indent << "model: ";
00182 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.model);
00183 s << indent << "platform_revision: ";
00184 Printer<int32_t>::stream(s, indent + " ", v.platform_revision);
00185 s << indent << "serial: ";
00186 Printer<uint32_t>::stream(s, indent + " ", v.serial);
00187 s << indent << "horizon_version[]" << std::endl;
00188 for (size_t i = 0; i < v.horizon_version.size(); ++i)
00189 {
00190 s << indent << " horizon_version[" << i << "]: ";
00191 Printer<int32_t>::stream(s, indent + " ", v.horizon_version[i]);
00192 }
00193 s << indent << "firmware_version[]" << std::endl;
00194 for (size_t i = 0; i < v.firmware_version.size(); ++i)
00195 {
00196 s << indent << " firmware_version[" << i << "]: ";
00197 Printer<int32_t>::stream(s, indent + " ", v.firmware_version[i]);
00198 }
00199 s << indent << "firmware_revision: ";
00200 Printer<int32_t>::stream(s, indent + " ", v.firmware_revision);
00201 s << indent << "write_date: ";
00202 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.write_date);
00203 }
00204 };
00205
00206
00207 }
00208 }
00209
00210 #endif // CLEARPATH_BASE_MESSAGE_CLEARPATHROBOT_H
00211