00001 /* 00002 * OptionController.hpp 00003 * 00004 * Created on: Nov 15, 2011 00005 * Author: mriedel 00006 */ 00007 00008 #ifndef INTERFACE_OPTIONCONTROLLER_HPP_ 00009 #define INTERFACE_OPTIONCONTROLLER_HPP_ 00010 00011 #include <telekyb_defines/telekyb_defines.hpp> 00012 #include <ros/ros.h> 00013 00014 #include <boost/optional.hpp> 00015 using boost::optional; 00016 00017 #include <telekyb_interface/OptionContainer.hpp> 00018 00019 #include <set> 00020 00021 namespace TELEKYB_INTERFACE_NAMESPACE { 00022 00023 class OptionController { 00024 protected: 00025 ros::NodeHandle nodeHandle; 00026 00027 public: 00028 OptionController(const std::string& optionHandleNamespace); 00029 virtual ~OptionController(); 00030 00031 const ros::NodeHandle& getNodeHandle() const; 00032 00033 Option getOption(const std::string& optionName_, const std::string& optionNamespace_); 00034 OptionContainer getOptionContainer(const std::string& optionContainerNamespace_); 00035 }; 00036 00037 } // namespace 00038 00039 #endif /* OPTIONCONTROLLER_HPP_ */