Psyllid  v1.12.4
Project 8 Data Acquisisition Software
Public Member Functions | Private Member Functions | List of all members
_node_binding< x_node_type, x_binding_type > Class Template Referenceabstract

#include <node_builder.hh>

Inheritance diagram for _node_binding< x_node_type, x_binding_type >:
Inheritance graph

Public Member Functions

 _node_binding ()
 
virtual ~_node_binding ()
 
_node_binding< x_node_type, x_binding_type > & operator= (const _node_binding< x_node_type, x_binding_type > &a_rhs)
 
virtual node_bindingclone () const
 
virtual void apply_config (midge::node *a_node, const scarab::param_node &a_config) const
 
virtual void dump_config (const midge::node *a_node, scarab::param_node &a_config) const
 
virtual bool run_command (midge::node *a_node, const std::string &a_cmd, const scarab::param_node &a_args) const
 
- Public Member Functions inherited from node_binding
 node_binding ()
 
virtual ~node_binding ()
 
node_bindingoperator= (const node_binding &a_rhs)
 

Private Member Functions

virtual void do_apply_config (x_node_type *a_node, const scarab::param_node &a_config) const =0
 
virtual void do_dump_config (const x_node_type *a_node, scarab::param_node &a_config) const =0
 
virtual bool do_run_command (x_node_type *a_node, const std::string &a_cmd, const scarab::param_node &a_args) const
 in derived classes, should throw a std::exception if the command fails, and return false if the command is unrecognized More...
 

Detailed Description

template<class x_node_type, class x_binding_type>
class psyllid::_node_binding< x_node_type, x_binding_type >

Definition at line 68 of file node_builder.hh.

Constructor & Destructor Documentation

◆ _node_binding()

Definition at line 176 of file node_builder.hh.

◆ ~_node_binding()

~_node_binding ( )
virtual

Definition at line 181 of file node_builder.hh.

Member Function Documentation

◆ apply_config()

void apply_config ( midge::node *  a_node,
const scarab::param_node &  a_config 
) const
virtual

Applies the builder's configuration information to the given node Throws psyllid::error if the node is of the wrong type or if applying the configuration fails

Implements node_binding.

Definition at line 200 of file node_builder.hh.

◆ clone()

node_binding * clone ( ) const
virtual

Implements node_binding.

Definition at line 192 of file node_builder.hh.

◆ do_apply_config()

virtual void do_apply_config ( x_node_type *  a_node,
const scarab::param_node &  a_config 
) const
privatepure virtual

◆ do_dump_config()

virtual void do_dump_config ( const x_node_type *  a_node,
scarab::param_node &  a_config 
) const
privatepure virtual

◆ do_run_command()

bool do_run_command ( x_node_type *  a_node,
const std::string &  a_cmd,
const scarab::param_node &  a_args 
) const
privatevirtual

in derived classes, should throw a std::exception if the command fails, and return false if the command is unrecognized

Reimplemented in frequency_mask_trigger_binding, tf_roach_receiver_binding, and frequency_transform_binding.

Definition at line 256 of file node_builder.hh.

◆ dump_config()

void dump_config ( const midge::node *  a_node,
scarab::param_node &  a_config 
) const
virtual

Dumps the configuration from the given node and returns it to the caller; does not affect the builder's configuration information Throws psyllid::error if the node is the wrong type or if the extraction fails

Implements node_binding.

Definition at line 219 of file node_builder.hh.

◆ operator=()

_node_binding< x_node_type, x_node_binding > & operator= ( const _node_binding< x_node_type, x_node_binding< x_node_type, x_binding_type > > &  a_rhs)

Definition at line 185 of file node_builder.hh.

◆ run_command()

bool run_command ( midge::node *  a_node,
const std::string &  a_cmd,
const scarab::param_node &  a_args 
) const
virtual

Calls a command on the given node Throws psyllid::error if the command fails, and returns false if the command is unrecognized

Implements node_binding.

Definition at line 238 of file node_builder.hh.


The documentation for this class was generated from the following file: