DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dbe::config::api::info Namespace Reference

Namespaces

namespace  relation

Classes

class  onclass

Functions

bool has_obj (std::string const &classname, std::string const &object_uid)
dunedaq::conffwk::attribute_t attributematch (QString const &, QString const &)
template<>
dunedaq::conffwk::relationship_t info::relation::match< std::string > (std::string const &arelation, std::string const &aclass)

Function Documentation

◆ attributematch()

dunedaq::conffwk::attribute_t dbe::config::api::info::attributematch ( QString const & AttributeName,
QString const & ClassName )

Retrieve attribute information for a given attribute name of a class

Parameters
Attributename
Classname
Returns
the attribute information

Definition at line 114 of file config_api_info.cpp.

115{
116 const dunedaq::conffwk::class_t& ClassInfo =
117 dbe::config::api::info::onclass::definition(ClassName.toStdString(), false);
118 const std::vector<dunedaq::conffwk::attribute_t> AttributeList = ClassInfo.p_attributes;
119
120 for (auto& Attribute : AttributeList) {
121 if (Attribute.p_name == AttributeName.toStdString()) {
122 return Attribute;
123 }
124 }
125
127}
static dunedaq::conffwk::class_t definition(std::string const &cn, bool direct_only)
const std::vector< attribute_t > p_attributes
Definition Schema.hpp:161

◆ has_obj()

bool dbe::config::api::info::has_obj ( std::string const & classname,
std::string const & object_uid )

Definition at line 88 of file config_api_info.cpp.

89{
90 try {
91 return not inner::dbcontroller::get({ object_uid, classname }).is_null();
92 } catch (daq::dbe::config_object_retrieval_result_is_null const& e) {
93 return false;
94 }
95
96 return true;
97}
static configobject::tref get(dbe::cokey const &desc)

◆ info::relation::match< std::string >()

template<>
dunedaq::conffwk::relationship_t dbe::config::api::info::info::relation::match< std::string > ( std::string const & arelation,
std::string const & aclass )

Definition at line 141 of file config_api_info.cpp.

143{
144 dunedaq::conffwk::class_t const& aninfo_for_class = dbe::config::api::info::onclass::definition(aclass, false);
145 std::vector<dunedaq::conffwk::relationship_t> const relations = aninfo_for_class.p_relationships;
146
147 for (auto& r : relations) {
148 if (r.p_name == arelation) {
149 return r;
150 }
151 }
153}
const std::vector< relationship_t > p_relationships
Definition Schema.hpp:162