00001
00002 #ifndef TEST_ROSCPP_MESSAGE_TESTWITHHEADER_H
00003 #define TEST_ROSCPP_MESSAGE_TESTWITHHEADER_H
00004 #include <string>
00005 #include <vector>
00006 #include <ostream>
00007 #include "ros/serialization.h"
00008 #include "ros/builtin_message_traits.h"
00009 #include "ros/message_operations.h"
00010 #include "ros/message.h"
00011 #include "ros/time.h"
00012
00013 #include "std_msgs/Header.h"
00014
00015 namespace test_roscpp
00016 {
00017 template <class ContainerAllocator>
00018 struct TestWithHeader_ : public ros::Message
00019 {
00020 typedef TestWithHeader_<ContainerAllocator> Type;
00021
00022 TestWithHeader_()
00023 : header()
00024 {
00025 }
00026
00027 TestWithHeader_(const ContainerAllocator& _alloc)
00028 : header(_alloc)
00029 {
00030 }
00031
00032 typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
00033 ::std_msgs::Header_<ContainerAllocator> header;
00034
00035
00036 private:
00037 static const char* __s_getDataType_() { return "test_roscpp/TestWithHeader"; }
00038 public:
00039 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00040
00041 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00042
00043 private:
00044 static const char* __s_getMD5Sum_() { return "d7be0bb39af8fb9129d5a76e6b63a290"; }
00045 public:
00046 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00047
00048 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00049
00050 private:
00051 static const char* __s_getMessageDefinition_() { return "Header header\n\
00052 \n\
00053 ================================================================================\n\
00054 MSG: std_msgs/Header\n\
00055 # Standard metadata for higher-level stamped data types.\n\
00056 # This is generally used to communicate timestamped data \n\
00057 # in a particular coordinate frame.\n\
00058 # \n\
00059 # sequence ID: consecutively increasing ID \n\
00060 uint32 seq\n\
00061 #Two-integer timestamp that is expressed as:\n\
00062 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00063 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00064 # time-handling sugar is provided by the client library\n\
00065 time stamp\n\
00066 #Frame this data is associated with\n\
00067 # 0: no frame\n\
00068 # 1: global frame\n\
00069 string frame_id\n\
00070 \n\
00071 "; }
00072 public:
00073 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00074
00075 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00076
00077 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00078 {
00079 ros::serialization::OStream stream(write_ptr, 1000000000);
00080 ros::serialization::serialize(stream, header);
00081 return stream.getData();
00082 }
00083
00084 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00085 {
00086 ros::serialization::IStream stream(read_ptr, 1000000000);
00087 ros::serialization::deserialize(stream, header);
00088 return stream.getData();
00089 }
00090
00091 ROS_DEPRECATED virtual uint32_t serializationLength() const
00092 {
00093 uint32_t size = 0;
00094 size += ros::serialization::serializationLength(header);
00095 return size;
00096 }
00097
00098 typedef boost::shared_ptr< ::test_roscpp::TestWithHeader_<ContainerAllocator> > Ptr;
00099 typedef boost::shared_ptr< ::test_roscpp::TestWithHeader_<ContainerAllocator> const> ConstPtr;
00100 };
00101 typedef ::test_roscpp::TestWithHeader_<std::allocator<void> > TestWithHeader;
00102
00103 typedef boost::shared_ptr< ::test_roscpp::TestWithHeader> TestWithHeaderPtr;
00104 typedef boost::shared_ptr< ::test_roscpp::TestWithHeader const> TestWithHeaderConstPtr;
00105
00106
00107 template<typename ContainerAllocator>
00108 std::ostream& operator<<(std::ostream& s, const ::test_roscpp::TestWithHeader_<ContainerAllocator> & v)
00109 {
00110 ros::message_operations::Printer< ::test_roscpp::TestWithHeader_<ContainerAllocator> >::stream(s, "", v);
00111 return s;}
00112
00113 }
00114
00115 namespace ros
00116 {
00117 namespace message_traits
00118 {
00119 template<class ContainerAllocator>
00120 struct MD5Sum< ::test_roscpp::TestWithHeader_<ContainerAllocator> > {
00121 static const char* value()
00122 {
00123 return "d7be0bb39af8fb9129d5a76e6b63a290";
00124 }
00125
00126 static const char* value(const ::test_roscpp::TestWithHeader_<ContainerAllocator> &) { return value(); }
00127 static const uint64_t static_value1 = 0xd7be0bb39af8fb91ULL;
00128 static const uint64_t static_value2 = 0x29d5a76e6b63a290ULL;
00129 };
00130
00131 template<class ContainerAllocator>
00132 struct DataType< ::test_roscpp::TestWithHeader_<ContainerAllocator> > {
00133 static const char* value()
00134 {
00135 return "test_roscpp/TestWithHeader";
00136 }
00137
00138 static const char* value(const ::test_roscpp::TestWithHeader_<ContainerAllocator> &) { return value(); }
00139 };
00140
00141 template<class ContainerAllocator>
00142 struct Definition< ::test_roscpp::TestWithHeader_<ContainerAllocator> > {
00143 static const char* value()
00144 {
00145 return "Header header\n\
00146 \n\
00147 ================================================================================\n\
00148 MSG: std_msgs/Header\n\
00149 # Standard metadata for higher-level stamped data types.\n\
00150 # This is generally used to communicate timestamped data \n\
00151 # in a particular coordinate frame.\n\
00152 # \n\
00153 # sequence ID: consecutively increasing ID \n\
00154 uint32 seq\n\
00155 #Two-integer timestamp that is expressed as:\n\
00156 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00157 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00158 # time-handling sugar is provided by the client library\n\
00159 time stamp\n\
00160 #Frame this data is associated with\n\
00161 # 0: no frame\n\
00162 # 1: global frame\n\
00163 string frame_id\n\
00164 \n\
00165 ";
00166 }
00167
00168 static const char* value(const ::test_roscpp::TestWithHeader_<ContainerAllocator> &) { return value(); }
00169 };
00170
00171 template<class ContainerAllocator> struct HasHeader< ::test_roscpp::TestWithHeader_<ContainerAllocator> > : public TrueType {};
00172 template<class ContainerAllocator> struct HasHeader< const ::test_roscpp::TestWithHeader_<ContainerAllocator> > : public TrueType {};
00173 }
00174 }
00175
00176 namespace ros
00177 {
00178 namespace serialization
00179 {
00180
00181 template<class ContainerAllocator> struct Serializer< ::test_roscpp::TestWithHeader_<ContainerAllocator> >
00182 {
00183 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00184 {
00185 stream.next(m.header);
00186 }
00187
00188 ROS_DECLARE_ALLINONE_SERIALIZER;
00189 };
00190 }
00191 }
00192
00193 namespace ros
00194 {
00195 namespace message_operations
00196 {
00197
00198 template<class ContainerAllocator>
00199 struct Printer< ::test_roscpp::TestWithHeader_<ContainerAllocator> >
00200 {
00201 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::test_roscpp::TestWithHeader_<ContainerAllocator> & v)
00202 {
00203 s << indent << "header: ";
00204 s << std::endl;
00205 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header);
00206 }
00207 };
00208
00209
00210 }
00211 }
00212
00213 #endif // TEST_ROSCPP_MESSAGE_TESTWITHHEADER_H
00214