Go to the documentation of this file.00001
00002 #ifndef TEST_ROSJAVA_JNI_MESSAGE_TESTBADDATATYPES_H
00003 #define TEST_ROSJAVA_JNI_MESSAGE_TESTBADDATATYPES_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 #include "std_msgs/Byte.h"
00018 #include "std_msgs/ByteMultiArray.h"
00019
00020 namespace test_rosjava_jni
00021 {
00022 template <class ContainerAllocator>
00023 struct TestBadDataTypes_ {
00024 typedef TestBadDataTypes_<ContainerAllocator> Type;
00025
00026 TestBadDataTypes_()
00027 : Byte_f()
00028 , ByteMultiArray_f()
00029 {
00030 }
00031
00032 TestBadDataTypes_(const ContainerAllocator& _alloc)
00033 : Byte_f()
00034 , ByteMultiArray_f()
00035 {
00036 Byte_f.assign( ::std_msgs::Byte_<ContainerAllocator> (_alloc));
00037 ByteMultiArray_f.assign( ::std_msgs::ByteMultiArray_<ContainerAllocator> (_alloc));
00038 }
00039
00040 typedef boost::array< ::std_msgs::Byte_<ContainerAllocator> , 2> _Byte_f_type;
00041 boost::array< ::std_msgs::Byte_<ContainerAllocator> , 2> Byte_f;
00042
00043 typedef boost::array< ::std_msgs::ByteMultiArray_<ContainerAllocator> , 1> _ByteMultiArray_f_type;
00044 boost::array< ::std_msgs::ByteMultiArray_<ContainerAllocator> , 1> ByteMultiArray_f;
00045
00046
00047 typedef boost::shared_ptr< ::test_rosjava_jni::TestBadDataTypes_<ContainerAllocator> > Ptr;
00048 typedef boost::shared_ptr< ::test_rosjava_jni::TestBadDataTypes_<ContainerAllocator> const> ConstPtr;
00049 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00050 };
00051 typedef ::test_rosjava_jni::TestBadDataTypes_<std::allocator<void> > TestBadDataTypes;
00052
00053 typedef boost::shared_ptr< ::test_rosjava_jni::TestBadDataTypes> TestBadDataTypesPtr;
00054 typedef boost::shared_ptr< ::test_rosjava_jni::TestBadDataTypes const> TestBadDataTypesConstPtr;
00055
00056
00057 template<typename ContainerAllocator>
00058 std::ostream& operator<<(std::ostream& s, const ::test_rosjava_jni::TestBadDataTypes_<ContainerAllocator> & v)
00059 {
00060 ros::message_operations::Printer< ::test_rosjava_jni::TestBadDataTypes_<ContainerAllocator> >::stream(s, "", v);
00061 return s;}
00062
00063 }
00064
00065 namespace ros
00066 {
00067 namespace message_traits
00068 {
00069 template<class ContainerAllocator> struct IsMessage< ::test_rosjava_jni::TestBadDataTypes_<ContainerAllocator> > : public TrueType {};
00070 template<class ContainerAllocator> struct IsMessage< ::test_rosjava_jni::TestBadDataTypes_<ContainerAllocator> const> : public TrueType {};
00071 template<class ContainerAllocator>
00072 struct MD5Sum< ::test_rosjava_jni::TestBadDataTypes_<ContainerAllocator> > {
00073 static const char* value()
00074 {
00075 return "f0fea41d38f14ed745582d619f53bcd0";
00076 }
00077
00078 static const char* value(const ::test_rosjava_jni::TestBadDataTypes_<ContainerAllocator> &) { return value(); }
00079 static const uint64_t static_value1 = 0xf0fea41d38f14ed7ULL;
00080 static const uint64_t static_value2 = 0x45582d619f53bcd0ULL;
00081 };
00082
00083 template<class ContainerAllocator>
00084 struct DataType< ::test_rosjava_jni::TestBadDataTypes_<ContainerAllocator> > {
00085 static const char* value()
00086 {
00087 return "test_rosjava_jni/TestBadDataTypes";
00088 }
00089
00090 static const char* value(const ::test_rosjava_jni::TestBadDataTypes_<ContainerAllocator> &) { return value(); }
00091 };
00092
00093 template<class ContainerAllocator>
00094 struct Definition< ::test_rosjava_jni::TestBadDataTypes_<ContainerAllocator> > {
00095 static const char* value()
00096 {
00097 return "# Unfortunately, can't test these fully because roscpp message generation\n\
00098 # is broken. \n\
00099 \n\
00100 std_msgs/Byte[2] Byte_f\n\
00101 std_msgs/ByteMultiArray[1] ByteMultiArray_f\n\
00102 \n\
00103 ================================================================================\n\
00104 MSG: std_msgs/Byte\n\
00105 byte data\n\
00106 \n\
00107 ================================================================================\n\
00108 MSG: std_msgs/ByteMultiArray\n\
00109 # Please look at the MultiArrayLayout message definition for\n\
00110 # documentation on all multiarrays.\n\
00111 \n\
00112 MultiArrayLayout layout # specification of data layout\n\
00113 byte[] data # array of data\n\
00114 \n\
00115 \n\
00116 ================================================================================\n\
00117 MSG: std_msgs/MultiArrayLayout\n\
00118 # The multiarray declares a generic multi-dimensional array of a\n\
00119 # particular data type. Dimensions are ordered from outer most\n\
00120 # to inner most.\n\
00121 \n\
00122 MultiArrayDimension[] dim # Array of dimension properties\n\
00123 uint32 data_offset # padding bytes at front of data\n\
00124 \n\
00125 # Accessors should ALWAYS be written in terms of dimension stride\n\
00126 # and specified outer-most dimension first.\n\
00127 # \n\
00128 # multiarray(i,j,k) = data[data_offset + dim_stride[1]*i + dim_stride[2]*j + k]\n\
00129 #\n\
00130 # A standard, 3-channel 640x480 image with interleaved color channels\n\
00131 # would be specified as:\n\
00132 #\n\
00133 # dim[0].label = \"height\"\n\
00134 # dim[0].size = 480\n\
00135 # dim[0].stride = 3*640*480 = 921600 (note dim[0] stride is just size of image)\n\
00136 # dim[1].label = \"width\"\n\
00137 # dim[1].size = 640\n\
00138 # dim[1].stride = 3*640 = 1920\n\
00139 # dim[2].label = \"channel\"\n\
00140 # dim[2].size = 3\n\
00141 # dim[2].stride = 3\n\
00142 #\n\
00143 # multiarray(i,j,k) refers to the ith row, jth column, and kth channel.\n\
00144 ================================================================================\n\
00145 MSG: std_msgs/MultiArrayDimension\n\
00146 string label # label of given dimension\n\
00147 uint32 size # size of given dimension (in type units)\n\
00148 uint32 stride # stride of given dimension\n\
00149 ";
00150 }
00151
00152 static const char* value(const ::test_rosjava_jni::TestBadDataTypes_<ContainerAllocator> &) { return value(); }
00153 };
00154
00155 }
00156 }
00157
00158 namespace ros
00159 {
00160 namespace serialization
00161 {
00162
00163 template<class ContainerAllocator> struct Serializer< ::test_rosjava_jni::TestBadDataTypes_<ContainerAllocator> >
00164 {
00165 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00166 {
00167 stream.next(m.Byte_f);
00168 stream.next(m.ByteMultiArray_f);
00169 }
00170
00171 ROS_DECLARE_ALLINONE_SERIALIZER;
00172 };
00173 }
00174 }
00175
00176 namespace ros
00177 {
00178 namespace message_operations
00179 {
00180
00181 template<class ContainerAllocator>
00182 struct Printer< ::test_rosjava_jni::TestBadDataTypes_<ContainerAllocator> >
00183 {
00184 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::test_rosjava_jni::TestBadDataTypes_<ContainerAllocator> & v)
00185 {
00186 s << indent << "Byte_f[]" << std::endl;
00187 for (size_t i = 0; i < v.Byte_f.size(); ++i)
00188 {
00189 s << indent << " Byte_f[" << i << "]: ";
00190 s << std::endl;
00191 s << indent;
00192 Printer< ::std_msgs::Byte_<ContainerAllocator> >::stream(s, indent + " ", v.Byte_f[i]);
00193 }
00194 s << indent << "ByteMultiArray_f[]" << std::endl;
00195 for (size_t i = 0; i < v.ByteMultiArray_f.size(); ++i)
00196 {
00197 s << indent << " ByteMultiArray_f[" << i << "]: ";
00198 s << std::endl;
00199 s << indent;
00200 Printer< ::std_msgs::ByteMultiArray_<ContainerAllocator> >::stream(s, indent + " ", v.ByteMultiArray_f[i]);
00201 }
00202 }
00203 };
00204
00205
00206 }
00207 }
00208
00209 #endif // TEST_ROSJAVA_JNI_MESSAGE_TESTBADDATATYPES_H
00210