$search
00001 """autogenerated by genmsg_py from TestBadDataTypes.msg. Do not edit.""" 00002 import roslib.message 00003 import struct 00004 00005 import std_msgs.msg 00006 00007 class TestBadDataTypes(roslib.message.Message): 00008 _md5sum = "f0fea41d38f14ed745582d619f53bcd0" 00009 _type = "test_rosjava_jni/TestBadDataTypes" 00010 _has_header = False #flag to mark the presence of a Header object 00011 _full_text = """# Unfortunately, can't test these fully because roscpp message generation 00012 # is broken. 00013 00014 std_msgs/Byte[2] Byte_f 00015 std_msgs/ByteMultiArray[1] ByteMultiArray_f 00016 00017 ================================================================================ 00018 MSG: std_msgs/Byte 00019 byte data 00020 00021 ================================================================================ 00022 MSG: std_msgs/ByteMultiArray 00023 # Please look at the MultiArrayLayout message definition for 00024 # documentation on all multiarrays. 00025 00026 MultiArrayLayout layout # specification of data layout 00027 byte[] data # array of data 00028 00029 00030 ================================================================================ 00031 MSG: std_msgs/MultiArrayLayout 00032 # The multiarray declares a generic multi-dimensional array of a 00033 # particular data type. Dimensions are ordered from outer most 00034 # to inner most. 00035 00036 MultiArrayDimension[] dim # Array of dimension properties 00037 uint32 data_offset # padding bytes at front of data 00038 00039 # Accessors should ALWAYS be written in terms of dimension stride 00040 # and specified outer-most dimension first. 00041 # 00042 # multiarray(i,j,k) = data[data_offset + dim_stride[1]*i + dim_stride[2]*j + k] 00043 # 00044 # A standard, 3-channel 640x480 image with interleaved color channels 00045 # would be specified as: 00046 # 00047 # dim[0].label = "height" 00048 # dim[0].size = 480 00049 # dim[0].stride = 3*640*480 = 921600 (note dim[0] stride is just size of image) 00050 # dim[1].label = "width" 00051 # dim[1].size = 640 00052 # dim[1].stride = 3*640 = 1920 00053 # dim[2].label = "channel" 00054 # dim[2].size = 3 00055 # dim[2].stride = 3 00056 # 00057 # multiarray(i,j,k) refers to the ith row, jth column, and kth channel. 00058 ================================================================================ 00059 MSG: std_msgs/MultiArrayDimension 00060 string label # label of given dimension 00061 uint32 size # size of given dimension (in type units) 00062 uint32 stride # stride of given dimension 00063 """ 00064 __slots__ = ['Byte_f','ByteMultiArray_f'] 00065 _slot_types = ['std_msgs/Byte[2]','std_msgs/ByteMultiArray[1]'] 00066 00067 def __init__(self, *args, **kwds): 00068 """ 00069 Constructor. Any message fields that are implicitly/explicitly 00070 set to None will be assigned a default value. The recommend 00071 use is keyword arguments as this is more robust to future message 00072 changes. You cannot mix in-order arguments and keyword arguments. 00073 00074 The available fields are: 00075 Byte_f,ByteMultiArray_f 00076 00077 @param args: complete set of field values, in .msg order 00078 @param kwds: use keyword arguments corresponding to message field names 00079 to set specific fields. 00080 """ 00081 if args or kwds: 00082 super(TestBadDataTypes, self).__init__(*args, **kwds) 00083 #message fields cannot be None, assign default values for those that are 00084 if self.Byte_f is None: 00085 self.Byte_f = [std_msgs.msg.Byte(),std_msgs.msg.Byte()] 00086 if self.ByteMultiArray_f is None: 00087 self.ByteMultiArray_f = [std_msgs.msg.ByteMultiArray()] 00088 else: 00089 self.Byte_f = [std_msgs.msg.Byte(),std_msgs.msg.Byte()] 00090 self.ByteMultiArray_f = [std_msgs.msg.ByteMultiArray()] 00091 00092 def _get_types(self): 00093 """ 00094 internal API method 00095 """ 00096 return self._slot_types 00097 00098 def serialize(self, buff): 00099 """ 00100 serialize message into buffer 00101 @param buff: buffer 00102 @type buff: StringIO 00103 """ 00104 try: 00105 for val1 in self.Byte_f: 00106 buff.write(_struct_b.pack(val1.data)) 00107 for val1 in self.ByteMultiArray_f: 00108 _v1 = val1.layout 00109 length = len(_v1.dim) 00110 buff.write(_struct_I.pack(length)) 00111 for val3 in _v1.dim: 00112 _x = val3.label 00113 length = len(_x) 00114 buff.write(struct.pack('<I%ss'%length, length, _x)) 00115 _x = val3 00116 buff.write(_struct_2I.pack(_x.size, _x.stride)) 00117 buff.write(_struct_I.pack(_v1.data_offset)) 00118 length = len(val1.data) 00119 buff.write(_struct_I.pack(length)) 00120 pattern = '<%sb'%length 00121 buff.write(struct.pack(pattern, *val1.data)) 00122 except struct.error as se: self._check_types(se) 00123 except TypeError as te: self._check_types(te) 00124 00125 def deserialize(self, str): 00126 """ 00127 unpack serialized message in str into this message instance 00128 @param str: byte array of serialized message 00129 @type str: str 00130 """ 00131 try: 00132 end = 0 00133 self.Byte_f = [] 00134 for i in range(0, 2): 00135 val1 = std_msgs.msg.Byte() 00136 start = end 00137 end += 1 00138 (val1.data,) = _struct_b.unpack(str[start:end]) 00139 self.Byte_f.append(val1) 00140 self.ByteMultiArray_f = [] 00141 for i in range(0, 1): 00142 val1 = std_msgs.msg.ByteMultiArray() 00143 _v2 = val1.layout 00144 start = end 00145 end += 4 00146 (length,) = _struct_I.unpack(str[start:end]) 00147 _v2.dim = [] 00148 for i in range(0, length): 00149 val3 = std_msgs.msg.MultiArrayDimension() 00150 start = end 00151 end += 4 00152 (length,) = _struct_I.unpack(str[start:end]) 00153 start = end 00154 end += length 00155 val3.label = str[start:end] 00156 _x = val3 00157 start = end 00158 end += 8 00159 (_x.size, _x.stride,) = _struct_2I.unpack(str[start:end]) 00160 _v2.dim.append(val3) 00161 start = end 00162 end += 4 00163 (_v2.data_offset,) = _struct_I.unpack(str[start:end]) 00164 start = end 00165 end += 4 00166 (length,) = _struct_I.unpack(str[start:end]) 00167 pattern = '<%sb'%length 00168 start = end 00169 end += struct.calcsize(pattern) 00170 val1.data = struct.unpack(pattern, str[start:end]) 00171 self.ByteMultiArray_f.append(val1) 00172 return self 00173 except struct.error as e: 00174 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00175 00176 00177 def serialize_numpy(self, buff, numpy): 00178 """ 00179 serialize message with numpy array types into buffer 00180 @param buff: buffer 00181 @type buff: StringIO 00182 @param numpy: numpy python module 00183 @type numpy module 00184 """ 00185 try: 00186 for val1 in self.Byte_f: 00187 buff.write(_struct_b.pack(val1.data)) 00188 for val1 in self.ByteMultiArray_f: 00189 _v3 = val1.layout 00190 length = len(_v3.dim) 00191 buff.write(_struct_I.pack(length)) 00192 for val3 in _v3.dim: 00193 _x = val3.label 00194 length = len(_x) 00195 buff.write(struct.pack('<I%ss'%length, length, _x)) 00196 _x = val3 00197 buff.write(_struct_2I.pack(_x.size, _x.stride)) 00198 buff.write(_struct_I.pack(_v3.data_offset)) 00199 length = len(val1.data) 00200 buff.write(_struct_I.pack(length)) 00201 pattern = '<%sb'%length 00202 buff.write(val1.data.tostring()) 00203 except struct.error as se: self._check_types(se) 00204 except TypeError as te: self._check_types(te) 00205 00206 def deserialize_numpy(self, str, numpy): 00207 """ 00208 unpack serialized message in str into this message instance using numpy for array types 00209 @param str: byte array of serialized message 00210 @type str: str 00211 @param numpy: numpy python module 00212 @type numpy: module 00213 """ 00214 try: 00215 end = 0 00216 self.Byte_f = [] 00217 for i in range(0, 2): 00218 val1 = std_msgs.msg.Byte() 00219 start = end 00220 end += 1 00221 (val1.data,) = _struct_b.unpack(str[start:end]) 00222 self.Byte_f.append(val1) 00223 self.ByteMultiArray_f = [] 00224 for i in range(0, 1): 00225 val1 = std_msgs.msg.ByteMultiArray() 00226 _v4 = val1.layout 00227 start = end 00228 end += 4 00229 (length,) = _struct_I.unpack(str[start:end]) 00230 _v4.dim = [] 00231 for i in range(0, length): 00232 val3 = std_msgs.msg.MultiArrayDimension() 00233 start = end 00234 end += 4 00235 (length,) = _struct_I.unpack(str[start:end]) 00236 start = end 00237 end += length 00238 val3.label = str[start:end] 00239 _x = val3 00240 start = end 00241 end += 8 00242 (_x.size, _x.stride,) = _struct_2I.unpack(str[start:end]) 00243 _v4.dim.append(val3) 00244 start = end 00245 end += 4 00246 (_v4.data_offset,) = _struct_I.unpack(str[start:end]) 00247 start = end 00248 end += 4 00249 (length,) = _struct_I.unpack(str[start:end]) 00250 pattern = '<%sb'%length 00251 start = end 00252 end += struct.calcsize(pattern) 00253 val1.data = numpy.frombuffer(str[start:end], dtype=numpy.int8, count=length) 00254 self.ByteMultiArray_f.append(val1) 00255 return self 00256 except struct.error as e: 00257 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00258 00259 _struct_I = roslib.message.struct_I 00260 _struct_b = struct.Struct("<b") 00261 _struct_2I = struct.Struct("<2I")