9 #ifndef DRIPLINE_AGENT_HH_ 10 #define DRIPLINE_AGENT_HH_ 72 void execute(
const scarab::param_node& a_config );
73 void execute(
const scarab::param_node& a_config,
const scarab::param_array& a_ord_args );
75 virtual void create_and_send_message( scarab::param_node& a_config,
const core& a_core ) = 0;
76 virtual void create_and_send_message(
const core& a_core );
88 virtual void create_and_send_message( scarab::param_node& a_config,
const core& a_core );
90 virtual request_ptr_t create_request( scarab::param_node& a_config ) = 0;
99 virtual void create_and_send_message( scarab::param_node& a_config,
const core& a_core );
108 virtual void create_and_send_message( scarab::param_node& a_config,
const core& a_core );
117 virtual request_ptr_t create_request( scarab::param_node& a_config );
126 virtual request_ptr_t create_request( scarab::param_node& a_config );
135 virtual request_ptr_t create_request( scarab::param_node& a_config );
144 virtual request_ptr_t create_request( scarab::param_node& a_config );
151 template<
typename sub_agent_type >
152 void execute(
const scarab::param_node& a_config );
153 template<
typename sub_agent_type >
154 void execute(
const scarab::param_node& a_config,
const scarab::param_array& a_ord_args );
156 mv_accessible(
bool, is_dry_run );
163 mv_referrable(
uuid_t, lockout_key );
167 mv_referrable( std::string, return_message );
170 mv_accessible(
unsigned, timeout );
171 mv_accessible(
bool, suppress_output );
172 mv_accessible(
bool, json_print );
173 mv_accessible(
bool, pretty_print );
174 mv_referrable( std::string, save_filename );
178 mv_accessible(
int,
return );
182 template<
typename sub_agent_type >
185 sub_agent_type t_sub_agent(
this );
186 scarab::param_array t_ord_args;
187 t_sub_agent.execute( a_config, t_ord_args );
191 template<
typename sub_agent_type >
192 void agent::execute(
const scarab::param_node& a_config,
const scarab::param_array& a_ord_args )
194 sub_agent_type t_sub_agent(
this );
195 t_sub_agent.execute( a_config, a_ord_args );
201 scarab::param_node t_config;
202 create_and_send_message( t_config, a_core );
Base class for return codes.
sub_agent(agent *an_agent)
sub_agent_request(agent *an_agent)
Parses routing keys and stores the tokenized information.
virtual ~sub_agent_reply()
sub_agent_run(agent *an_agent)
std::shared_ptr< msg_request > request_ptr_t
void execute(const scarab::param_node &a_config)
virtual ~sub_agent_request()
sub_agent_reply(agent *an_agent)
virtual ~sub_agent_alert()
boost::uuids::uuid uuid_t
Universally-unique-identifier type containing 16 hexadecimal characters.
virtual void create_and_send_message(scarab::param_node &a_config, const core &a_core)=0
sub_agent_cmd(agent *an_agent)
std::shared_ptr< msg_reply > reply_ptr_t
Parses specifiers and stores the tokenized information.
Basic AMQP interactions, including sending messages and interacting with AMQP channels.
Takes command-line arguments and sends messages.
sub_agent_get(agent *an_agent)
sub_agent_set(agent *an_agent)
sub_agent_alert(agent *an_agent)