13 #include "signal_handler.hh"
15 using scarab::param_array;
16 using scarab::param_node;
17 using scarab::param_ptr_t;
19 LOGGER(
dlog,
"oscillator_service_endpoints" );
40 param_ptr_t t_reply_payload(
new param_node() );
41 param_node& t_reply_node = t_reply_payload->as_node();
43 return a_request->reply(
dl_success(),
"Get request succeeded", std::move(t_reply_payload) );
49 return a_request->reply(
dl_success(),
"Frequency set" );
61 param_ptr_t t_reply_payload(
new param_node() );
62 param_node& t_reply_node = t_reply_payload->as_node();
64 return a_request->reply(
dl_success(),
"Get request succeeded", std::move(t_reply_payload) );
70 return a_request->reply(
dl_success(),
"Frequency set" );
82 param_ptr_t t_reply_payload(
new param_node() );
83 param_node& t_reply_node = t_reply_payload->as_node();
85 return a_request->reply(
dl_success(),
"Get request succeeded", std::move(t_reply_payload) );
97 param_ptr_t t_reply_payload(
new param_node() );
98 param_node& t_reply_node = t_reply_payload->as_node();
100 return a_request->reply(
dl_success(),
"Get request succeeded", std::move(t_reply_payload) );
112 param_ptr_t t_reply_payload(
new param_node() );
113 param_node& t_reply_node = t_reply_payload->as_node();
114 param_array t_iq_param;
117 t_reply_node.add(
"value", std::move(t_iq_param) );
118 return a_request->reply(
dl_success(),
"Get request succeeded", std::move(t_reply_payload) );
127 add_child( std::make_shared< oscillator_ep_frequency >(
"frequency" ) );
128 add_child( std::make_shared< oscillator_ep_amplitude >(
"amplitude" ) );
129 add_async_child( std::make_shared< oscillator_ep_in_phase >(
"in_phase" ) );
130 add_async_child( std::make_shared< oscillator_ep_quadrature >(
"quadrature" ) );
140 auto t_cwrap = scarab::wrap_cancelable( *
this );
141 scarab::signal_handler::add_cancelable( t_cwrap );
147 catch( std::exception& e )
149 LERROR(
dlog,
"Exception caught: " << e.what() );
150 LERROR(
dlog,
"Exiting service" );
152 scarab::signal_handler::cancel_all( f_return );
155 if( scarab::signal_handler::get_exited() )
157 f_return = scarab::signal_handler::get_return_code();
Basic Dripline object capable of receiving and acting on messages.
oscillator_ep_amplitude(const std::string &a_name)
virtual reply_ptr_t do_get_request(const request_ptr_t a_request)
virtual ~oscillator_ep_amplitude()
virtual reply_ptr_t do_set_request(const request_ptr_t a_request)
oscillator_ep_frequency(const std::string &a_name)
virtual ~oscillator_ep_frequency()
virtual reply_ptr_t do_get_request(const request_ptr_t a_request)
virtual reply_ptr_t do_set_request(const request_ptr_t a_request)
oscillator_ep_in_phase(const std::string &a_name)
virtual ~oscillator_ep_in_phase()
virtual reply_ptr_t do_get_request(const request_ptr_t a_request)
virtual ~oscillator_ep_iq()
virtual reply_ptr_t do_get_request(const request_ptr_t a_request)
oscillator_ep_iq(const std::string &a_name)
oscillator_ep_quadrature(const std::string &a_name)
virtual reply_ptr_t do_get_request(const request_ptr_t a_request)
virtual ~oscillator_ep_quadrature()
oscillator_ep(const std::string &a_name)
virtual ~oscillator_service_endpoints()
oscillator_service_endpoints(const scarab::param_node &a_config, const scarab::authentication &a_auth)
Primary unit of software that connects to a broker and typically provides an interface with an instru...
bool add_async_child(endpoint_ptr_t a_endpoint_ptr)
Add an asynchronous child endpoint.
bool add_child(endpoint_ptr_t a_endpoint_ptr)
Add a synchronous child endpoint.
std::shared_ptr< msg_reply > reply_ptr_t
static ::scarab::logger_type< ::scarab::spd_initializer_async_stdout_color_mt > dlog("agent", __FILE_NAME__, __LINE__)
std::shared_ptr< msg_request > request_ptr_t
static ::scarab::logger_type< ::scarab::spd_initializer_async_stdout_color_mt > dlog("oscillator_service_endpoints", __FILE_NAME__, __LINE__)
virtual unsigned rc_value() const