12 m_config(&parent->configuration()),
13 m_dbfile(parent->config_object().contained_in()),
14 m_app_uid(parent->UID()) {
27 const std::string&
id)
const {
38 auto queue_obj =
create(
"Queue", queue_uid);
39 queue_obj.set_by_val<std::string>(
"data_type", qdesc->
get_data_type());
40 queue_obj.set_by_val<std::string>(
"queue_type", qdesc->
get_queue_type());
41 queue_obj.set_by_val<uint32_t>(
"capacity", qdesc->
get_capacity());
49 std::string queue_uid(fmt::format(
"{}{}", qdesc->
get_uid_base(), src_id));
50 auto queue_obj =
create(
"QueueWithSourceId", queue_uid);
52 queue_obj.set_by_val<std::string>(
"data_type", qdesc->
get_data_type());
53 queue_obj.set_by_val<std::string>(
"queue_type", qdesc->
get_queue_type());
54 queue_obj.set_by_val<uint32_t>(
"capacity", qdesc->
get_capacity());
55 queue_obj.set_by_val<uint32_t>(
"source_id", src_id);
79 std::string app_uid)
const {
83 auto net_obj =
create(
"NetworkConnection", net_id);
85 net_obj.set_by_val<std::string>(
"data_type", ndesc->
get_data_type());
87 net_obj.set_by_val<uint32_t>(
"capacity", ndesc->
get_capacity());
88 net_obj.set_obj(
"associated_service", &svc_obj);
conffwk::ConfigObject create_queue_sid_obj(const QueueDescriptor *qdesc, uint32_t src_id) const
ConfigObjectFactory(const SmartDaqApplication *)
conffwk::ConfigObject create_net_obj(const NetworkConnectionDescriptor *ndesc, std::string uid) const
Helper function that gets a network connection config.
conffwk::ConfigObject create_queue_obj(const QueueDescriptor *qdesc, std::string uid="") const
conffwk::ConfigObject create(const std::string &class_name, const std::string &id) const
conffwk::Configuration * m_config
const std::string & get_connection_type() const
Get "connection_type" attribute value.
const std::string & get_data_type() const
Get "data_type" attribute value. string identifying type of data transferred through this connection.
uint32_t get_capacity() const
Get "capacity" attribute value.
const std::string & get_uid_base() const
Get "uid_base" attribute value. Base for UID string. To be combined with a source id.
const dunedaq::confmodel::Service * get_associated_service() const
Get "associated_service" relationship value. Service provided by this connection.
const std::string & get_queue_type() const
Get "queue_type" attribute value. Type of queue.
const std::string & get_data_type() const
Get "data_type" attribute value. string identifying type of data transferred through this queue.
uint32_t get_capacity() const
Get "capacity" attribute value.
const std::string & get_uid_base() const
Get "uid_base" attribute value. Base for UID string. May be combined with a source id.
void create(const std::string &at, const std::string &class_name, const std::string &id, ConfigObject &object)
Create new object by class name and object id.
const ConfigObject & config_object() const
uint32_t get_source_id() const
Get "source_id" attribute value.
static void set_nolock_mode(bool nl)