36std::vector<const confmodel::DaqModule*>
39 std::vector<const confmodel::DaqModule*> modules;
45 if (tpwriterConf == 0) {
46 throw (BadConf(
ERS_HERE,
"No TPStreamWriterModule configuration given"));
48 auto tpwriterConfObj = tpwriterConf->config_object();
52 auto endpoint_class = rule->get_endpoint_class();
53 auto data_type = rule->get_descriptor()->get_data_type();
54 if (data_type ==
"TPSet") {
55 tset_in_net_desc = rule->get_descriptor();
58 if ( tset_in_net_desc==
nullptr) {
59 throw (BadConf(
ERS_HERE,
"No network descriptor given to receive TPSets"));
66 if (source_id ==
nullptr) {
67 throw(BadConf(
ERS_HERE,
"No SourceIDConf given to TPWriterApplication!"));
71 std::string tpwrUid(
"tpwriter-"+std::to_string(source_id->get_sid()));
73 tpwrObj.
set_by_val<uint32_t>(
"source_id", source_id->get_sid());
74 tpwrObj.
set_by_val(
"writer_identifier", fmt::format(
"{}_tpw_{}",
UID(), tpw_idx));
75 tpwrObj.
set_obj(
"configuration", &tpwriterConf->config_object());
76 tpwrObj.
set_objs(
"inputs", {&tset_in_net_obj} );
conffwk::ConfigObject create_net_obj(const NetworkConnectionDescriptor *ndesc, std::string uid) const
Helper function that gets a network connection config.
const T * get_dal(std::string uid) const
conffwk::ConfigObject create(const std::string &class_name, const std::string &id) const
const std::vector< const dunedaq::appmodel::NetworkConnectionRule * > & get_network_rules() const
Get "network_rules" relationship value.
const dunedaq::appmodel::SourceIDConf * get_source_id() const
Get "source_id" relationship value.
const dunedaq::appmodel::TPStreamWriterConf * get_tp_writer() const
Get "tp_writer" relationship value.
std::vector< const dunedaq::confmodel::DaqModule * > generate_modules(const confmodel::Session *) const override
void set_by_val(const std::string &name, T value)
Set attribute value.
void set_objs(const std::string &name, const std::vector< const ConfigObject * > &o, bool skip_non_null_check=false)
Set relationship multi-value.
void set_obj(const std::string &name, const ConfigObject *o, bool skip_non_null_check=false)
Set relationship single-value.
const std::string & UID() const noexcept