00001 /* 00002 * BehaviorInterface.hpp 00003 * 00004 * Created on: Nov 22, 2011 00005 * Author: mriedel 00006 */ 00007 00008 #ifndef BEHAVIORINTERFACE_HPP_ 00009 #define BEHAVIORINTERFACE_HPP_ 00010 00011 #include <telekyb_defines/telekyb_defines.hpp> 00012 00013 #include <ros/ros.h> 00014 00015 // Services 00016 #include <telekyb_srvs/BehaviorInput.h> 00017 #include <telekyb_srvs/BehaviorOutput.h> 00018 00019 #include <telekyb_srvs/BoolInput.h> 00020 00021 namespace TELEKYB_NAMESPACE { 00022 00023 // forward declaration 00024 class Behavior; 00025 00026 class BehaviorInterface { 00027 protected: 00028 Behavior& behavior; 00029 00030 // NodeHandle 00031 ros::NodeHandle nodeHandle; 00032 00033 // ServiceServers 00034 ros::ServiceServer setNextBehavior; 00035 ros::ServiceServer getNextBehavior; 00036 ros::ServiceServer setParameterInitialized; 00037 00038 // ServiceServers Callbacks 00039 bool setNextBehaviorCB( 00040 telekyb_srvs::BehaviorInput::Request& request, 00041 telekyb_srvs::BehaviorInput::Response& response); 00042 00043 bool getNextBehaviorCB( 00044 telekyb_srvs::BehaviorOutput::Request& request, 00045 telekyb_srvs::BehaviorOutput::Response& response); 00046 00047 bool setParameterInitializedCB( 00048 telekyb_srvs::BoolInput::Request& request, 00049 telekyb_srvs::BoolInput::Response& response); 00050 00051 00052 public: 00053 BehaviorInterface(Behavior& behavior_); 00054 virtual ~BehaviorInterface(); 00055 }; 00056 00057 } 00058 00059 #endif /* BEHAVIORINTERFACE_HPP_ */