00001 """autogenerated by genpy from joint_states_settler/ConfigAction.msg. Do not edit."""
00002 import sys
00003 python3 = True if sys.hexversion > 0x03000000 else False
00004 import genpy
00005 import struct
00006
00007 import genpy
00008 import actionlib_msgs.msg
00009 import joint_states_settler.msg
00010 import std_msgs.msg
00011
00012 class ConfigAction(genpy.Message):
00013 _md5sum = "baa9ae56369a6c832695f8fd10a504f5"
00014 _type = "joint_states_settler/ConfigAction"
00015 _has_header = False
00016 _full_text = """
00017 ConfigActionGoal action_goal
00018 ConfigActionResult action_result
00019 ConfigActionFeedback action_feedback
00020
00021 ================================================================================
00022 MSG: joint_states_settler/ConfigActionGoal
00023
00024 Header header
00025 actionlib_msgs/GoalID goal_id
00026 ConfigGoal goal
00027
00028 ================================================================================
00029 MSG: std_msgs/Header
00030 # Standard metadata for higher-level stamped data types.
00031 # This is generally used to communicate timestamped data
00032 # in a particular coordinate frame.
00033 #
00034 # sequence ID: consecutively increasing ID
00035 uint32 seq
00036 #Two-integer timestamp that is expressed as:
00037 # * stamp.secs: seconds (stamp_secs) since epoch
00038 # * stamp.nsecs: nanoseconds since stamp_secs
00039 # time-handling sugar is provided by the client library
00040 time stamp
00041 #Frame this data is associated with
00042 # 0: no frame
00043 # 1: global frame
00044 string frame_id
00045
00046 ================================================================================
00047 MSG: actionlib_msgs/GoalID
00048 # The stamp should store the time at which this goal was requested.
00049 # It is used by an action server when it tries to preempt all
00050 # goals that were requested before a certain time
00051 time stamp
00052
00053 # The id provides a way to associate feedback and
00054 # result message with specific goal requests. The id
00055 # specified must be unique.
00056 string id
00057
00058
00059 ================================================================================
00060 MSG: joint_states_settler/ConfigGoal
00061 string[] joint_names # Names of the joints we're waiting to settle
00062 float64[] tolerances # Tolerance on each of the specified joints
00063 duration max_step # The maximum timestep between two elements in an interval
00064 uint32 cache_size # The size of our cache when searching for an interval
00065
00066 ================================================================================
00067 MSG: joint_states_settler/ConfigActionResult
00068
00069 Header header
00070 actionlib_msgs/GoalStatus status
00071 ConfigResult result
00072
00073 ================================================================================
00074 MSG: actionlib_msgs/GoalStatus
00075 GoalID goal_id
00076 uint8 status
00077 uint8 PENDING = 0 # The goal has yet to be processed by the action server
00078 uint8 ACTIVE = 1 # The goal is currently being processed by the action server
00079 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing
00080 # and has since completed its execution (Terminal State)
00081 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)
00082 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due
00083 # to some failure (Terminal State)
00084 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,
00085 # because the goal was unattainable or invalid (Terminal State)
00086 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing
00087 # and has not yet completed execution
00088 uint8 RECALLING = 7 # The goal received a cancel request before it started executing,
00089 # but the action server has not yet confirmed that the goal is canceled
00090 uint8 RECALLED = 8 # The goal received a cancel request before it started executing
00091 # and was successfully cancelled (Terminal State)
00092 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be
00093 # sent over the wire by an action server
00094
00095 #Allow for the user to associate a string with GoalStatus for debugging
00096 string text
00097
00098
00099 ================================================================================
00100 MSG: joint_states_settler/ConfigResult
00101
00102 ================================================================================
00103 MSG: joint_states_settler/ConfigActionFeedback
00104
00105 Header header
00106 actionlib_msgs/GoalStatus status
00107 ConfigFeedback feedback
00108
00109 ================================================================================
00110 MSG: joint_states_settler/ConfigFeedback
00111
00112 """
00113 __slots__ = ['action_goal','action_result','action_feedback']
00114 _slot_types = ['joint_states_settler/ConfigActionGoal','joint_states_settler/ConfigActionResult','joint_states_settler/ConfigActionFeedback']
00115
00116 def __init__(self, *args, **kwds):
00117 """
00118 Constructor. Any message fields that are implicitly/explicitly
00119 set to None will be assigned a default value. The recommend
00120 use is keyword arguments as this is more robust to future message
00121 changes. You cannot mix in-order arguments and keyword arguments.
00122
00123 The available fields are:
00124 action_goal,action_result,action_feedback
00125
00126 :param args: complete set of field values, in .msg order
00127 :param kwds: use keyword arguments corresponding to message field names
00128 to set specific fields.
00129 """
00130 if args or kwds:
00131 super(ConfigAction, self).__init__(*args, **kwds)
00132
00133 if self.action_goal is None:
00134 self.action_goal = joint_states_settler.msg.ConfigActionGoal()
00135 if self.action_result is None:
00136 self.action_result = joint_states_settler.msg.ConfigActionResult()
00137 if self.action_feedback is None:
00138 self.action_feedback = joint_states_settler.msg.ConfigActionFeedback()
00139 else:
00140 self.action_goal = joint_states_settler.msg.ConfigActionGoal()
00141 self.action_result = joint_states_settler.msg.ConfigActionResult()
00142 self.action_feedback = joint_states_settler.msg.ConfigActionFeedback()
00143
00144 def _get_types(self):
00145 """
00146 internal API method
00147 """
00148 return self._slot_types
00149
00150 def serialize(self, buff):
00151 """
00152 serialize message into buffer
00153 :param buff: buffer, ``StringIO``
00154 """
00155 try:
00156 _x = self
00157 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs))
00158 _x = self.action_goal.header.frame_id
00159 length = len(_x)
00160 if python3 or type(_x) == unicode:
00161 _x = _x.encode('utf-8')
00162 length = len(_x)
00163 buff.write(struct.pack('<I%ss'%length, length, _x))
00164 _x = self
00165 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs))
00166 _x = self.action_goal.goal_id.id
00167 length = len(_x)
00168 if python3 or type(_x) == unicode:
00169 _x = _x.encode('utf-8')
00170 length = len(_x)
00171 buff.write(struct.pack('<I%ss'%length, length, _x))
00172 length = len(self.action_goal.goal.joint_names)
00173 buff.write(_struct_I.pack(length))
00174 for val1 in self.action_goal.goal.joint_names:
00175 length = len(val1)
00176 if python3 or type(val1) == unicode:
00177 val1 = val1.encode('utf-8')
00178 length = len(val1)
00179 buff.write(struct.pack('<I%ss'%length, length, val1))
00180 length = len(self.action_goal.goal.tolerances)
00181 buff.write(_struct_I.pack(length))
00182 pattern = '<%sd'%length
00183 buff.write(struct.pack(pattern, *self.action_goal.goal.tolerances))
00184 _x = self
00185 buff.write(_struct_2i4I.pack(_x.action_goal.goal.max_step.secs, _x.action_goal.goal.max_step.nsecs, _x.action_goal.goal.cache_size, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs))
00186 _x = self.action_result.header.frame_id
00187 length = len(_x)
00188 if python3 or type(_x) == unicode:
00189 _x = _x.encode('utf-8')
00190 length = len(_x)
00191 buff.write(struct.pack('<I%ss'%length, length, _x))
00192 _x = self
00193 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs))
00194 _x = self.action_result.status.goal_id.id
00195 length = len(_x)
00196 if python3 or type(_x) == unicode:
00197 _x = _x.encode('utf-8')
00198 length = len(_x)
00199 buff.write(struct.pack('<I%ss'%length, length, _x))
00200 buff.write(_struct_B.pack(self.action_result.status.status))
00201 _x = self.action_result.status.text
00202 length = len(_x)
00203 if python3 or type(_x) == unicode:
00204 _x = _x.encode('utf-8')
00205 length = len(_x)
00206 buff.write(struct.pack('<I%ss'%length, length, _x))
00207 _x = self
00208 buff.write(_struct_3I.pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs))
00209 _x = self.action_feedback.header.frame_id
00210 length = len(_x)
00211 if python3 or type(_x) == unicode:
00212 _x = _x.encode('utf-8')
00213 length = len(_x)
00214 buff.write(struct.pack('<I%ss'%length, length, _x))
00215 _x = self
00216 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs))
00217 _x = self.action_feedback.status.goal_id.id
00218 length = len(_x)
00219 if python3 or type(_x) == unicode:
00220 _x = _x.encode('utf-8')
00221 length = len(_x)
00222 buff.write(struct.pack('<I%ss'%length, length, _x))
00223 buff.write(_struct_B.pack(self.action_feedback.status.status))
00224 _x = self.action_feedback.status.text
00225 length = len(_x)
00226 if python3 or type(_x) == unicode:
00227 _x = _x.encode('utf-8')
00228 length = len(_x)
00229 buff.write(struct.pack('<I%ss'%length, length, _x))
00230 except struct.error as se: self._check_types(se)
00231 except TypeError as te: self._check_types(te)
00232
00233 def deserialize(self, str):
00234 """
00235 unpack serialized message in str into this message instance
00236 :param str: byte array of serialized message, ``str``
00237 """
00238 try:
00239 if self.action_goal is None:
00240 self.action_goal = joint_states_settler.msg.ConfigActionGoal()
00241 if self.action_result is None:
00242 self.action_result = joint_states_settler.msg.ConfigActionResult()
00243 if self.action_feedback is None:
00244 self.action_feedback = joint_states_settler.msg.ConfigActionFeedback()
00245 end = 0
00246 _x = self
00247 start = end
00248 end += 12
00249 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00250 start = end
00251 end += 4
00252 (length,) = _struct_I.unpack(str[start:end])
00253 start = end
00254 end += length
00255 if python3:
00256 self.action_goal.header.frame_id = str[start:end].decode('utf-8')
00257 else:
00258 self.action_goal.header.frame_id = str[start:end]
00259 _x = self
00260 start = end
00261 end += 8
00262 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00263 start = end
00264 end += 4
00265 (length,) = _struct_I.unpack(str[start:end])
00266 start = end
00267 end += length
00268 if python3:
00269 self.action_goal.goal_id.id = str[start:end].decode('utf-8')
00270 else:
00271 self.action_goal.goal_id.id = str[start:end]
00272 start = end
00273 end += 4
00274 (length,) = _struct_I.unpack(str[start:end])
00275 self.action_goal.goal.joint_names = []
00276 for i in range(0, length):
00277 start = end
00278 end += 4
00279 (length,) = _struct_I.unpack(str[start:end])
00280 start = end
00281 end += length
00282 if python3:
00283 val1 = str[start:end].decode('utf-8')
00284 else:
00285 val1 = str[start:end]
00286 self.action_goal.goal.joint_names.append(val1)
00287 start = end
00288 end += 4
00289 (length,) = _struct_I.unpack(str[start:end])
00290 pattern = '<%sd'%length
00291 start = end
00292 end += struct.calcsize(pattern)
00293 self.action_goal.goal.tolerances = struct.unpack(pattern, str[start:end])
00294 _x = self
00295 start = end
00296 end += 24
00297 (_x.action_goal.goal.max_step.secs, _x.action_goal.goal.max_step.nsecs, _x.action_goal.goal.cache_size, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_2i4I.unpack(str[start:end])
00298 start = end
00299 end += 4
00300 (length,) = _struct_I.unpack(str[start:end])
00301 start = end
00302 end += length
00303 if python3:
00304 self.action_result.header.frame_id = str[start:end].decode('utf-8')
00305 else:
00306 self.action_result.header.frame_id = str[start:end]
00307 _x = self
00308 start = end
00309 end += 8
00310 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00311 start = end
00312 end += 4
00313 (length,) = _struct_I.unpack(str[start:end])
00314 start = end
00315 end += length
00316 if python3:
00317 self.action_result.status.goal_id.id = str[start:end].decode('utf-8')
00318 else:
00319 self.action_result.status.goal_id.id = str[start:end]
00320 start = end
00321 end += 1
00322 (self.action_result.status.status,) = _struct_B.unpack(str[start:end])
00323 start = end
00324 end += 4
00325 (length,) = _struct_I.unpack(str[start:end])
00326 start = end
00327 end += length
00328 if python3:
00329 self.action_result.status.text = str[start:end].decode('utf-8')
00330 else:
00331 self.action_result.status.text = str[start:end]
00332 _x = self
00333 start = end
00334 end += 12
00335 (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00336 start = end
00337 end += 4
00338 (length,) = _struct_I.unpack(str[start:end])
00339 start = end
00340 end += length
00341 if python3:
00342 self.action_feedback.header.frame_id = str[start:end].decode('utf-8')
00343 else:
00344 self.action_feedback.header.frame_id = str[start:end]
00345 _x = self
00346 start = end
00347 end += 8
00348 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00349 start = end
00350 end += 4
00351 (length,) = _struct_I.unpack(str[start:end])
00352 start = end
00353 end += length
00354 if python3:
00355 self.action_feedback.status.goal_id.id = str[start:end].decode('utf-8')
00356 else:
00357 self.action_feedback.status.goal_id.id = str[start:end]
00358 start = end
00359 end += 1
00360 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end])
00361 start = end
00362 end += 4
00363 (length,) = _struct_I.unpack(str[start:end])
00364 start = end
00365 end += length
00366 if python3:
00367 self.action_feedback.status.text = str[start:end].decode('utf-8')
00368 else:
00369 self.action_feedback.status.text = str[start:end]
00370 return self
00371 except struct.error as e:
00372 raise genpy.DeserializationError(e)
00373
00374
00375 def serialize_numpy(self, buff, numpy):
00376 """
00377 serialize message with numpy array types into buffer
00378 :param buff: buffer, ``StringIO``
00379 :param numpy: numpy python module
00380 """
00381 try:
00382 _x = self
00383 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs))
00384 _x = self.action_goal.header.frame_id
00385 length = len(_x)
00386 if python3 or type(_x) == unicode:
00387 _x = _x.encode('utf-8')
00388 length = len(_x)
00389 buff.write(struct.pack('<I%ss'%length, length, _x))
00390 _x = self
00391 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs))
00392 _x = self.action_goal.goal_id.id
00393 length = len(_x)
00394 if python3 or type(_x) == unicode:
00395 _x = _x.encode('utf-8')
00396 length = len(_x)
00397 buff.write(struct.pack('<I%ss'%length, length, _x))
00398 length = len(self.action_goal.goal.joint_names)
00399 buff.write(_struct_I.pack(length))
00400 for val1 in self.action_goal.goal.joint_names:
00401 length = len(val1)
00402 if python3 or type(val1) == unicode:
00403 val1 = val1.encode('utf-8')
00404 length = len(val1)
00405 buff.write(struct.pack('<I%ss'%length, length, val1))
00406 length = len(self.action_goal.goal.tolerances)
00407 buff.write(_struct_I.pack(length))
00408 pattern = '<%sd'%length
00409 buff.write(self.action_goal.goal.tolerances.tostring())
00410 _x = self
00411 buff.write(_struct_2i4I.pack(_x.action_goal.goal.max_step.secs, _x.action_goal.goal.max_step.nsecs, _x.action_goal.goal.cache_size, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs))
00412 _x = self.action_result.header.frame_id
00413 length = len(_x)
00414 if python3 or type(_x) == unicode:
00415 _x = _x.encode('utf-8')
00416 length = len(_x)
00417 buff.write(struct.pack('<I%ss'%length, length, _x))
00418 _x = self
00419 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs))
00420 _x = self.action_result.status.goal_id.id
00421 length = len(_x)
00422 if python3 or type(_x) == unicode:
00423 _x = _x.encode('utf-8')
00424 length = len(_x)
00425 buff.write(struct.pack('<I%ss'%length, length, _x))
00426 buff.write(_struct_B.pack(self.action_result.status.status))
00427 _x = self.action_result.status.text
00428 length = len(_x)
00429 if python3 or type(_x) == unicode:
00430 _x = _x.encode('utf-8')
00431 length = len(_x)
00432 buff.write(struct.pack('<I%ss'%length, length, _x))
00433 _x = self
00434 buff.write(_struct_3I.pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs))
00435 _x = self.action_feedback.header.frame_id
00436 length = len(_x)
00437 if python3 or type(_x) == unicode:
00438 _x = _x.encode('utf-8')
00439 length = len(_x)
00440 buff.write(struct.pack('<I%ss'%length, length, _x))
00441 _x = self
00442 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs))
00443 _x = self.action_feedback.status.goal_id.id
00444 length = len(_x)
00445 if python3 or type(_x) == unicode:
00446 _x = _x.encode('utf-8')
00447 length = len(_x)
00448 buff.write(struct.pack('<I%ss'%length, length, _x))
00449 buff.write(_struct_B.pack(self.action_feedback.status.status))
00450 _x = self.action_feedback.status.text
00451 length = len(_x)
00452 if python3 or type(_x) == unicode:
00453 _x = _x.encode('utf-8')
00454 length = len(_x)
00455 buff.write(struct.pack('<I%ss'%length, length, _x))
00456 except struct.error as se: self._check_types(se)
00457 except TypeError as te: self._check_types(te)
00458
00459 def deserialize_numpy(self, str, numpy):
00460 """
00461 unpack serialized message in str into this message instance using numpy for array types
00462 :param str: byte array of serialized message, ``str``
00463 :param numpy: numpy python module
00464 """
00465 try:
00466 if self.action_goal is None:
00467 self.action_goal = joint_states_settler.msg.ConfigActionGoal()
00468 if self.action_result is None:
00469 self.action_result = joint_states_settler.msg.ConfigActionResult()
00470 if self.action_feedback is None:
00471 self.action_feedback = joint_states_settler.msg.ConfigActionFeedback()
00472 end = 0
00473 _x = self
00474 start = end
00475 end += 12
00476 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00477 start = end
00478 end += 4
00479 (length,) = _struct_I.unpack(str[start:end])
00480 start = end
00481 end += length
00482 if python3:
00483 self.action_goal.header.frame_id = str[start:end].decode('utf-8')
00484 else:
00485 self.action_goal.header.frame_id = str[start:end]
00486 _x = self
00487 start = end
00488 end += 8
00489 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00490 start = end
00491 end += 4
00492 (length,) = _struct_I.unpack(str[start:end])
00493 start = end
00494 end += length
00495 if python3:
00496 self.action_goal.goal_id.id = str[start:end].decode('utf-8')
00497 else:
00498 self.action_goal.goal_id.id = str[start:end]
00499 start = end
00500 end += 4
00501 (length,) = _struct_I.unpack(str[start:end])
00502 self.action_goal.goal.joint_names = []
00503 for i in range(0, length):
00504 start = end
00505 end += 4
00506 (length,) = _struct_I.unpack(str[start:end])
00507 start = end
00508 end += length
00509 if python3:
00510 val1 = str[start:end].decode('utf-8')
00511 else:
00512 val1 = str[start:end]
00513 self.action_goal.goal.joint_names.append(val1)
00514 start = end
00515 end += 4
00516 (length,) = _struct_I.unpack(str[start:end])
00517 pattern = '<%sd'%length
00518 start = end
00519 end += struct.calcsize(pattern)
00520 self.action_goal.goal.tolerances = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
00521 _x = self
00522 start = end
00523 end += 24
00524 (_x.action_goal.goal.max_step.secs, _x.action_goal.goal.max_step.nsecs, _x.action_goal.goal.cache_size, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_2i4I.unpack(str[start:end])
00525 start = end
00526 end += 4
00527 (length,) = _struct_I.unpack(str[start:end])
00528 start = end
00529 end += length
00530 if python3:
00531 self.action_result.header.frame_id = str[start:end].decode('utf-8')
00532 else:
00533 self.action_result.header.frame_id = str[start:end]
00534 _x = self
00535 start = end
00536 end += 8
00537 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00538 start = end
00539 end += 4
00540 (length,) = _struct_I.unpack(str[start:end])
00541 start = end
00542 end += length
00543 if python3:
00544 self.action_result.status.goal_id.id = str[start:end].decode('utf-8')
00545 else:
00546 self.action_result.status.goal_id.id = str[start:end]
00547 start = end
00548 end += 1
00549 (self.action_result.status.status,) = _struct_B.unpack(str[start:end])
00550 start = end
00551 end += 4
00552 (length,) = _struct_I.unpack(str[start:end])
00553 start = end
00554 end += length
00555 if python3:
00556 self.action_result.status.text = str[start:end].decode('utf-8')
00557 else:
00558 self.action_result.status.text = str[start:end]
00559 _x = self
00560 start = end
00561 end += 12
00562 (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00563 start = end
00564 end += 4
00565 (length,) = _struct_I.unpack(str[start:end])
00566 start = end
00567 end += length
00568 if python3:
00569 self.action_feedback.header.frame_id = str[start:end].decode('utf-8')
00570 else:
00571 self.action_feedback.header.frame_id = str[start:end]
00572 _x = self
00573 start = end
00574 end += 8
00575 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00576 start = end
00577 end += 4
00578 (length,) = _struct_I.unpack(str[start:end])
00579 start = end
00580 end += length
00581 if python3:
00582 self.action_feedback.status.goal_id.id = str[start:end].decode('utf-8')
00583 else:
00584 self.action_feedback.status.goal_id.id = str[start:end]
00585 start = end
00586 end += 1
00587 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end])
00588 start = end
00589 end += 4
00590 (length,) = _struct_I.unpack(str[start:end])
00591 start = end
00592 end += length
00593 if python3:
00594 self.action_feedback.status.text = str[start:end].decode('utf-8')
00595 else:
00596 self.action_feedback.status.text = str[start:end]
00597 return self
00598 except struct.error as e:
00599 raise genpy.DeserializationError(e)
00600
00601 _struct_I = genpy.struct_I
00602 _struct_3I = struct.Struct("<3I")
00603 _struct_B = struct.Struct("<B")
00604 _struct_2I = struct.Struct("<2I")
00605 _struct_2i4I = struct.Struct("<2i4I")