00001 00008 #ifndef JOINT_TRAJECTORY_MANAGER_H 00009 #define JOINT_TRAJECTORY_MANAGER_H 00010 00011 #include <trajectory_msgs/JointTrajectory.h> 00012 #include <actionlib_msgs/GoalID.h> 00013 #include <map> 00014 00019 class JointTrajectoryManager 00020 { 00021 public: 00022 JointTrajectoryManager(); 00023 virtual ~JointTrajectoryManager(); 00024 00032 void addToJointGoalMap(const std::vector<std::string>& jointNames, const actionlib_msgs::GoalID goalId); 00033 void removeFromJointGoalMap(const std::vector<std::string>& jointNames); 00034 void removeFromJointGoalMap(const actionlib_msgs::GoalID& goal); 00035 00036 protected: 00043 virtual bool isActive(const actionlib_msgs::GoalID& goalId) const = 0; 00044 std::string jointGoalMapToString(void) const; 00045 typedef std::map<std::string, actionlib_msgs::GoalID> JointGoalMap_type; 00046 JointGoalMap_type jointGoalMap; 00047 }; 00048 00049 #endif