00001 #ifndef __YAML_MENU_HANDLER_H__ 00002 #define __YAML_MENU_HANDLER_H__ 00003 00004 #include <vector> 00005 #include <yaml-cpp/yaml.h> 00006 #include <interactive_markers/interactive_marker_server.h> 00007 #include <interactive_markers/menu_handler.h> 00008 #include <std_msgs/String.h> 00009 #include <map> 00010 00011 namespace jsk_interactive_marker { 00012 class YamlMenuHandler { 00013 public: 00014 ros::NodeHandle* _node_ptr; 00015 interactive_markers::MenuHandler _menu_handler; 00016 std::map<std::string, ros::Publisher> _publisher_map; 00017 YamlMenuHandler(ros::NodeHandle* node_ptr, std::string file_name); 00018 bool initMenu(std::string file); 00019 void pubTopic(const visualization_msgs::InteractiveMarkerFeedbackConstPtr &feedback, std::string topic_name); 00020 void applyMenu(interactive_markers::InteractiveMarkerServer* server_ptr, std::string name); 00021 }; 00022 }; 00023 00024 #endif