8 #ifndef DRIPLINE_ENDPOINT_HH_ 9 #define DRIPLINE_ENDPOINT_HH_ 98 endpoint(
const std::string& a_name );
107 mv_referrable( std::string, name );
120 void submit_reply_message(
const reply_ptr_t a_reply );
123 void submit_alert_message(
const alert_ptr_t a_alert );
135 virtual void on_reply_message(
const reply_ptr_t a_reply );
139 virtual void on_alert_message(
const alert_ptr_t a_alert );
173 virtual void send_reply(
reply_ptr_t a_reply )
const;
181 uuid_t enable_lockout(
const scarab::param_node& a_tag );
183 uuid_t enable_lockout(
const scarab::param_node& a_tag,
uuid_t a_key );
184 bool disable_lockout(
const uuid_t& a_key,
bool a_force =
false );
185 bool is_locked()
const;
186 bool check_key(
const uuid_t& a_key )
const;
190 bool authenticate(
const uuid_t& a_key )
const;
192 mv_referrable( scarab::param_node, lockout_tag );
193 mv_accessible(
uuid_t, lockout_key );
213 return a_request->reply(
dl_resource_error(),
"Unhandled request type: OP_RUN" );
218 return a_request->reply(
dl_resource_error(),
"Unhandled request type: OP_GET" );
223 return a_request->reply(
dl_resource_error(),
"Unhandled request type: OP_SET" );
228 return a_request->reply(
dl_resource_error(),
"Unhandled request type: OP_CMD" );
238 return ! f_lockout_key.is_nil();
243 return f_lockout_key == a_key;
248 return a_request->reply(
dl_success(),
"No action taken (this is the default method)" );
virtual reply_ptr_t do_run_request(const request_ptr_t a_request)
std::shared_ptr< msg_request > request_ptr_t
std::shared_ptr< msg_alert > alert_ptr_t
uuid_t enable_lockout(const scarab::param_node &a_tag)
enable lockout with randomly-generated key
Consumer of Dripline messages on a particular queue.
virtual reply_ptr_t do_get_request(const request_ptr_t a_request)
boost::uuids::uuid uuid_t
Universally-unique-identifier type containing 16 hexadecimal characters.
bool check_key(const uuid_t &a_key) const
std::shared_ptr< msg_reply > reply_ptr_t
uuid_t generate_random_uuid()
Generates a UUID containing random numbers (RNG is a Mersenne Twister)
virtual reply_ptr_t do_set_request(const request_ptr_t a_request)
virtual reply_ptr_t do_cmd_request(const request_ptr_t a_request)
std::shared_ptr< message > message_ptr_t
Basic Dripline object capable of receiving and acting on messages.
virtual reply_ptr_t __do_handle_set_condition_request(const request_ptr_t a_request)
Default set-condition: no action taken; override for different behavior.
std::shared_ptr< service > service_ptr_t