5#include <std_srvs/Empty.h>
7#include <boost/optional/optional_io.hpp>
10namespace client_bases {
11template <
typename TService>
31 void (T::*callback)(
TServiceRequest&, std::shared_ptr<TServiceResponse>),
40 ROS_ERROR(
"service server with no service name set. Skipping.");
42 ROS_INFO_STREAM(
"[" << this->
getName()
43 <<
"] Client Service: " << serviceName_);
virtual std::string getName() const
ISmaccStateMachine * getStateMachine()
boost::signals2::connection createSignalConnection(TSmaccSignal &signal, TMemberFunctionPrototype callback, TSmaccObjectType *object)
SmaccServiceServerClient(std::string service_name)
smacc::SmaccSignal< void(TServiceRequest &, std::shared_ptr< TServiceResponse >)> onServiceRequestReceived_
typename TService::Response TServiceResponse
ros::ServiceServer server_
SmaccServiceServerClient()
typename TService::Request TServiceRequest
virtual void initialize() override
boost::signals2::connection onServiceRequestReceived(void(T::*callback)(TServiceRequest &, std::shared_ptr< TServiceResponse >), T *object)
virtual ~SmaccServiceServerClient()
boost::optional< std::string > serviceName_
bool serviceCallback(TServiceRequest &req, TServiceResponse &res)