3#ifndef _HermesModule_0_dunedaq__appmodel_0_appmodel_H_
4#define _HermesModule_0_dunedaq__appmodel_0_appmodel_H_
36 class HermesModule :
public dunedaq::confmodel::DaqModule,
public dunedaq::appmodel::IpbusDevice {
47 virtual
void init(
bool init_children);
65 virtual
void print(
unsigned int offset,
bool print_header,
std::ostream& s) const;
95 inline static const
std::
string s_links =
"links";
108 const std::vector<const dunedaq::appmodel::HermesDataSender*>&
111 std::lock_guard scoped_lock(
m_mutex);
116 std::ostringstream text;
117 text <<
"relationship \"" <<
s_links <<
"\" of object " <<
this <<
" is empty";
118 throw dunedaq::conffwk::Generic(
ERS_HERE, text.str().c_str());
131 set_links(
const std::vector<const dunedaq::appmodel::HermesDataSender*>& value);
142 std::lock_guard scoped_lock(
m_mutex);
147 std::ostringstream text;
148 text <<
"relationship \"" <<
s_destination <<
"\" of object " <<
this <<
" is not set";
149 throw dunedaq::conffwk::Generic(
ERS_HERE, text.str().c_str());
170 return obj.print_object(s);
friend class conffwk::DalRegistry
const dunedaq::confmodel::NetworkInterface * get_destination() const
Get "destination" relationship value.
const std::vector< const dunedaq::appmodel::HermesDataSender * > & get_links() const
Get "links" relationship value.
static const std::string s_links
void set_links(const std::vector< const dunedaq::appmodel::HermesDataSender * > &value)
Set "links" relationship value.
virtual void init(bool init_children)
HermesModule(conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
virtual void print(unsigned int offset, bool print_header, std::ostream &s) const
Print details of the HermesModule object.
friend class conffwk::DalFactory
virtual std::vector< const dunedaq::conffwk::DalObject * > get(const std::string &name, bool upcast_unregistered=true) const
Get values of relationships and results of some algorithms as a vector of dunedaq::conffwk::DalObject...
static const std::string s_destination
const dunedaq::confmodel::NetworkInterface * m_destination
std::vector< const dunedaq::appmodel::HermesDataSender * > m_links
friend class conffwk::DalObject
void set_destination(const dunedaq::confmodel::NetworkInterface *value)
Set "destination" relationship value.
virtual ~HermesModule() noexcept
static const std::string & s_class_name
friend class conffwk::Configuration
static const std::string & __get_destination_str() noexcept
static const std::string & __get_links_str() noexcept
std::mutex m_mutex
Used to protect changes of DAL object.
void check_init() const
Check and initialize object if necessary.
DalRegistry: A registry of DalObjects It provides a single interface to create, cache and manage DalO...
std::vector< constHermesModule * >::const_iterator HermesModuleIterator
std::ostream & operator<<(std::ostream &s, const AVXAbsRunSumProcessor &obj)