00001
00002 #ifndef TEST_ROSPY_MESSAGE_TRANSITIVEMSG2_H
00003 #define TEST_ROSPY_MESSAGE_TRANSITIVEMSG2_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 "test_ros/Composite.h"
00014
00015 namespace test_rospy
00016 {
00017 template <class ContainerAllocator>
00018 struct TransitiveMsg2_ : public ros::Message
00019 {
00020 typedef TransitiveMsg2_<ContainerAllocator> Type;
00021
00022 TransitiveMsg2_()
00023 : data()
00024 {
00025 }
00026
00027 TransitiveMsg2_(const ContainerAllocator& _alloc)
00028 : data(_alloc)
00029 {
00030 }
00031
00032 typedef ::test_ros::Composite_<ContainerAllocator> _data_type;
00033 ::test_ros::Composite_<ContainerAllocator> data;
00034
00035
00036 private:
00037 static const char* __s_getDataType_() { return "test_rospy/TransitiveMsg2"; }
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 "eb1fa3c8b51b0e31f74e89c2eecc441e"; }
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 "test_ros/Composite data\n\
00052 \n\
00053 ================================================================================\n\
00054 MSG: test_ros/Composite\n\
00055 # composite message. required for testing import calculation in generators\n\
00056 CompositeA a\n\
00057 CompositeB b\n\
00058 \n\
00059 ================================================================================\n\
00060 MSG: test_ros/CompositeA\n\
00061 # This represents an orientation in free space in quaternion form.\n\
00062 \n\
00063 float64 x\n\
00064 float64 y\n\
00065 float64 z\n\
00066 float64 w\n\
00067 \n\
00068 ================================================================================\n\
00069 MSG: test_ros/CompositeB\n\
00070 # copy of geometry_msgs/Point for testing\n\
00071 float64 x\n\
00072 float64 y\n\
00073 float64 z\n\
00074 \n\
00075 "; }
00076 public:
00077 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00078
00079 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00080
00081 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00082 {
00083 ros::serialization::OStream stream(write_ptr, 1000000000);
00084 ros::serialization::serialize(stream, data);
00085 return stream.getData();
00086 }
00087
00088 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00089 {
00090 ros::serialization::IStream stream(read_ptr, 1000000000);
00091 ros::serialization::deserialize(stream, data);
00092 return stream.getData();
00093 }
00094
00095 ROS_DEPRECATED virtual uint32_t serializationLength() const
00096 {
00097 uint32_t size = 0;
00098 size += ros::serialization::serializationLength(data);
00099 return size;
00100 }
00101
00102 typedef boost::shared_ptr< ::test_rospy::TransitiveMsg2_<ContainerAllocator> > Ptr;
00103 typedef boost::shared_ptr< ::test_rospy::TransitiveMsg2_<ContainerAllocator> const> ConstPtr;
00104 };
00105 typedef ::test_rospy::TransitiveMsg2_<std::allocator<void> > TransitiveMsg2;
00106
00107 typedef boost::shared_ptr< ::test_rospy::TransitiveMsg2> TransitiveMsg2Ptr;
00108 typedef boost::shared_ptr< ::test_rospy::TransitiveMsg2 const> TransitiveMsg2ConstPtr;
00109
00110
00111 template<typename ContainerAllocator>
00112 std::ostream& operator<<(std::ostream& s, const ::test_rospy::TransitiveMsg2_<ContainerAllocator> & v)
00113 {
00114 ros::message_operations::Printer< ::test_rospy::TransitiveMsg2_<ContainerAllocator> >::stream(s, "", v);
00115 return s;}
00116
00117 }
00118
00119 namespace ros
00120 {
00121 namespace message_traits
00122 {
00123 template<class ContainerAllocator>
00124 struct MD5Sum< ::test_rospy::TransitiveMsg2_<ContainerAllocator> > {
00125 static const char* value()
00126 {
00127 return "eb1fa3c8b51b0e31f74e89c2eecc441e";
00128 }
00129
00130 static const char* value(const ::test_rospy::TransitiveMsg2_<ContainerAllocator> &) { return value(); }
00131 static const uint64_t static_value1 = 0xeb1fa3c8b51b0e31ULL;
00132 static const uint64_t static_value2 = 0xf74e89c2eecc441eULL;
00133 };
00134
00135 template<class ContainerAllocator>
00136 struct DataType< ::test_rospy::TransitiveMsg2_<ContainerAllocator> > {
00137 static const char* value()
00138 {
00139 return "test_rospy/TransitiveMsg2";
00140 }
00141
00142 static const char* value(const ::test_rospy::TransitiveMsg2_<ContainerAllocator> &) { return value(); }
00143 };
00144
00145 template<class ContainerAllocator>
00146 struct Definition< ::test_rospy::TransitiveMsg2_<ContainerAllocator> > {
00147 static const char* value()
00148 {
00149 return "test_ros/Composite data\n\
00150 \n\
00151 ================================================================================\n\
00152 MSG: test_ros/Composite\n\
00153 # composite message. required for testing import calculation in generators\n\
00154 CompositeA a\n\
00155 CompositeB b\n\
00156 \n\
00157 ================================================================================\n\
00158 MSG: test_ros/CompositeA\n\
00159 # This represents an orientation in free space in quaternion form.\n\
00160 \n\
00161 float64 x\n\
00162 float64 y\n\
00163 float64 z\n\
00164 float64 w\n\
00165 \n\
00166 ================================================================================\n\
00167 MSG: test_ros/CompositeB\n\
00168 # copy of geometry_msgs/Point for testing\n\
00169 float64 x\n\
00170 float64 y\n\
00171 float64 z\n\
00172 \n\
00173 ";
00174 }
00175
00176 static const char* value(const ::test_rospy::TransitiveMsg2_<ContainerAllocator> &) { return value(); }
00177 };
00178
00179 template<class ContainerAllocator> struct IsFixedSize< ::test_rospy::TransitiveMsg2_<ContainerAllocator> > : public TrueType {};
00180 }
00181 }
00182
00183 namespace ros
00184 {
00185 namespace serialization
00186 {
00187
00188 template<class ContainerAllocator> struct Serializer< ::test_rospy::TransitiveMsg2_<ContainerAllocator> >
00189 {
00190 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00191 {
00192 stream.next(m.data);
00193 }
00194
00195 ROS_DECLARE_ALLINONE_SERIALIZER;
00196 };
00197 }
00198 }
00199
00200 namespace ros
00201 {
00202 namespace message_operations
00203 {
00204
00205 template<class ContainerAllocator>
00206 struct Printer< ::test_rospy::TransitiveMsg2_<ContainerAllocator> >
00207 {
00208 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::test_rospy::TransitiveMsg2_<ContainerAllocator> & v)
00209 {
00210 s << indent << "data: ";
00211 s << std::endl;
00212 Printer< ::test_ros::Composite_<ContainerAllocator> >::stream(s, indent + " ", v.data);
00213 }
00214 };
00215
00216
00217 }
00218 }
00219
00220 #endif // TEST_ROSPY_MESSAGE_TRANSITIVEMSG2_H
00221