9 #ifndef DRIPLINE_AGENT_HH_
10 #define DRIPLINE_AGENT_HH_
87 void execute(
const scarab::param_node& a_config,
const scarab::authentication& a_auth );
88 void execute(
const scarab::param_node& a_config,
const scarab::param_array& a_ord_args,
const scarab::authentication& a_auth );
91 virtual void create_and_send_message(
const core& a_core );
108 virtual void create_and_send_message( scarab::param_node& a_config,
const core& a_core );
124 virtual void create_and_send_message( scarab::param_node& a_config,
const core& a_core );
138 virtual void create_and_send_message( scarab::param_node& a_config,
const core& a_core );
166 virtual request_ptr_t create_request( scarab::param_node& a_config );
180 virtual request_ptr_t create_request( scarab::param_node& a_config );
194 virtual request_ptr_t create_request( scarab::param_node& a_config );
206 template<
typename sub_agent_type >
207 void execute(
const scarab::param_node& a_config,
const scarab::authentication& a_auth );
208 template<
typename sub_agent_type >
209 void execute(
const scarab::param_node& a_config,
const scarab::param_array& a_ord_args,
const scarab::authentication& a_auth );
211 mv_accessible(
bool, is_dry_run );
222 mv_referrable( std::string, return_message );
225 mv_accessible(
unsigned, timeout );
226 mv_accessible(
bool, suppress_output );
227 mv_accessible(
bool, json_print );
228 mv_accessible(
bool, pretty_print );
229 mv_referrable( std::string, save_filename );
233 mv_accessible(
int,
return );
237 template<
typename sub_agent_type >
238 void agent::execute(
const scarab::param_node& a_config,
const scarab::authentication& a_auth )
240 sub_agent_type t_sub_agent(
this );
241 scarab::param_array t_ord_args;
242 t_sub_agent.execute( a_config, t_ord_args, a_auth );
246 template<
typename sub_agent_type >
247 void agent::execute(
const scarab::param_node& a_config,
const scarab::param_array& a_ord_args,
const scarab::authentication& a_auth )
249 sub_agent_type t_sub_agent(
this );
250 t_sub_agent.execute( a_config, a_ord_args, a_auth );
256 scarab::param_node t_config;
sub_agent_alert(sub_agent_alert &&)=default
sub_agent_alert(const sub_agent_alert &)=default
sub_agent_alert & operator=(sub_agent_alert &&)=default
virtual ~sub_agent_alert()=default
sub_agent_alert(agent *an_agent)
sub_agent_alert & operator=(const sub_agent_alert &)=default
sub_agent_cmd(const sub_agent_cmd &)=default
sub_agent_cmd(sub_agent_cmd &&)=default
sub_agent_cmd(agent *an_agent)
sub_agent_cmd & operator=(sub_agent_cmd &&)=default
sub_agent_cmd & operator=(const sub_agent_cmd &)=default
virtual ~sub_agent_cmd()=default
sub_agent_get(sub_agent_get &&)=default
sub_agent_get & operator=(const sub_agent_get &)=default
virtual ~sub_agent_get()=default
sub_agent_get(const sub_agent_get &)=default
sub_agent_get(agent *an_agent)
sub_agent_get & operator=(sub_agent_get &&)=default
sub_agent_reply(sub_agent_reply &&)=default
sub_agent_reply(agent *an_agent)
virtual ~sub_agent_reply()=default
sub_agent_reply(const sub_agent_reply &)=default
sub_agent_reply & operator=(sub_agent_reply &&)=default
sub_agent_reply & operator=(const sub_agent_reply &)=default
sub_agent_request(sub_agent_request &&)=default
sub_agent_request & operator=(const sub_agent_request &)=default
virtual request_ptr_t create_request(scarab::param_node &a_config)=0
sub_agent_request & operator=(sub_agent_request &&)=default
virtual ~sub_agent_request()=default
sub_agent_request(agent *an_agent)
sub_agent_request(const sub_agent_request &)=default
sub_agent_run & operator=(sub_agent_run &&)=default
virtual request_ptr_t create_request(scarab::param_node &a_config)
virtual ~sub_agent_run()=default
sub_agent_run & operator=(const sub_agent_run &)=default
sub_agent_run(const sub_agent_run &)=default
sub_agent_run(sub_agent_run &&)=default
sub_agent_run(agent *an_agent)
sub_agent_set & operator=(const sub_agent_set &)=default
sub_agent_set(sub_agent_set &&)=default
sub_agent_set(agent *an_agent)
virtual ~sub_agent_set()=default
sub_agent_set(const sub_agent_set &)=default
sub_agent_set & operator=(sub_agent_set &&)=default
sub_agent(const sub_agent &)=default
sub_agent(sub_agent &&)=default
sub_agent & operator=(sub_agent &&)=default
virtual void create_and_send_message(scarab::param_node &a_config, const core &a_core)=0
sub_agent(agent *an_agent)
sub_agent & operator=(const sub_agent &)=default
virtual ~sub_agent()=default
Takes command-line arguments and sends messages.
agent & operator=(const agent &)=default
agent(const agent &)=default
void execute(const scarab::param_node &a_config, const scarab::authentication &a_auth)
agent & operator=(agent &&)=default
Basic AMQP interactions, including sending messages and interacting with AMQP channels.
Parses routing keys and stores the tokenized information.
Parses specifiers and stores the tokenized information.
std::shared_ptr< msg_reply > reply_ptr_t
std::shared_ptr< msg_request > request_ptr_t
boost::uuids::uuid uuid_t
Universally-unique-identifier type containing 16 hexadecimal characters.
Base class for return codes.