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