Go to the documentation of this file.00001
00006 #ifndef GOALSTATUSSENDER_H
00007 #define GOALSTATUSSENDER_H
00008
00009 #include <actionlib_msgs/GoalStatusArray.h>
00010
00015 class GoalStatusSender
00016 {
00017 public:
00018 GoalStatusSender(const std::string& name);
00019
00020 virtual ~GoalStatusSender();
00021
00022 void sendStatusMessage(bool clear = false);
00023 void sendStatusMessage(const actionlib_msgs::GoalStatus& status, bool clear = false);
00024 void sendStatusMessage(const ros::Time& stamp, const std::string& id,
00025 const actionlib_msgs::GoalStatus::_status_type& status,
00026 const std::string& text, bool clear = false);
00027 void sendStatusMessage(const actionlib_msgs::GoalStatus::_status_type& status,
00028 const std::string& text, bool clear = false);
00029 void clearStatusMessage();
00034 unsigned int addStatus(const actionlib_msgs::GoalStatus& status);
00039 unsigned int addStatus(const ros::Time& stamp, const std::string& id,
00040 const actionlib_msgs::GoalStatus::_status_type& status,
00041 const std::string& text);
00042
00043 actionlib_msgs::GoalStatus& status(unsigned int index);
00044 const actionlib_msgs::GoalStatus& status(unsigned int index) const;
00045
00051 void removeStatus(unsigned int index);
00052
00053 protected:
00054
00055 virtual void writeStatus(const actionlib_msgs::GoalStatusArray& goalStatusMsg_out) = 0;
00056
00057 private:
00058 actionlib_msgs::GoalStatusArray goalStatusMsg;
00059 };
00060
00061 #endif