36 std::vector<ConfigObject> referees;
37 std::vector<tref> result;
44 }
catch (daq::dbe::config_object_retrieval_result_is_null
const& e) {
52template std::vector<tref>
63 for (
auto const& linked :
obj.relations) {
64 for (
auto const& candidate : linked.second) {
78 while (not acopy.empty()) {
120 throw daq::dbe::gref_empty_internal_queue_is_invalid_state(
ERS_HERE);
136 ConfigObject voisin{ this->that->template getdirect<ConfigObject>(key) };
139 throw daq::dbe::config_object_retrieval_result_is_null(
ERS_HERE, key);
152 std::vector<ConfigObject> voisins{ this->that->template getdirect<std::vector<ConfigObject>>(key) };
154 std::vector<tref> references;
156 for (ConfigObject
const& voisin : voisins) {
159 }
catch (daq::dbe::config_object_retrieval_result_is_null
const& ex) {
209 std::vector<ConfigObject> linked;
212 std::vector<configobject::tref> references;
216 references.push_back(
get({ anobj.UID(), anobj.class_name() }));
217 }
catch (daq::dbe::config_object_retrieval_result_is_null
const& e) {
263 }
catch (dunedaq::conffwk::Exception
const& e) {
267 }
catch (daq::dbe::Exception
const& e) {
285 return obj.rebuild();
330 std::shared_ptr<configobject::oref> current_ptr = objref.
refered;
337 }
catch (dunedaq::conffwk::Generic
const& e) {
343 t_object_map::iterator position;
344 std::tie(position, nofail) =
this_allobjects.emplace(*current_ptr, current_ptr);
347 throw daq::dbe::dbcontroller_internal_cache_failure(
ERS_HERE);
349 return position->second;
362std::vector<configobject::tref>
366 std::vector<configobject::tref> result;
371 }
catch (daq::dbe::config_object_retrieval_result_is_null
const& e) {
394 return position->second;
408 bool object_inserted;
409 t_object_map::iterator position;
412 std::tie(position, object_inserted) =
this_allobjects.emplace(*element, element);
414 if (not object_inserted) {
420 return position->second;
static tref set_object(tref newobj, dbe::t_config_object_preimage::type_attrmap const &attributes, dbe::t_config_object_preimage::type_relmap const &relations)
static void destroy_object(dunedaq::conffwk::ConfigObject &)
static dunedaq::conffwk::ConfigObject get_object(std::string const &, std::string const &)
static std::vector< dunedaq::conffwk::ConfigObject > query_class(std::string const &classname, std::string const &query)
static dunedaq::conffwk::ConfigObject create_object(std::string const &fn, std::string const &cn, std::string const &name)
static void rename_object(dunedaq::conffwk::ConfigObject &object, std::string const &newname)
inner::configobject::tref this_referenced_object
inner::configobject::tref ref() const
U operator()(std::string const &key)
void record(tref const &obj)
type_ref_container this_notify_stack
std::function< void(dref const)> config_action_notifiable
type_extractor_stack this_remove_stack
std::deque< t_extractor > type_extractor_stack
void notify(config_action_notifiable tele)
std::vector< T > referenced_by(std::string const &name="*", bool check_composite_only=true) const
dunedaq::conffwk::ConfigObject & ref(bool check_null=true) const
std::shared_ptr< oref > refered
friend class configobject::tref
configobject::tref rename(configobject::tref objref, std::string const &aname)
static dbcontroller & ref()
configobject::gref< T > remove(dbe::tref ref)
static configobject::gref< T > delete_object_request(configobject::tref const &obj)
t_object_map this_allobjects
std::lock_guard< t_mutex > locker
static std::vector< configobject::tref > gets(std::string const &cname, std::string const &query="")
configobject::tref insert(dunedaq::conffwk::ConfigObject const &)
std::vector< configobject::tref > referenced_by(configobject::tref objref, std::string const &name="*", bool check_composite_only=true)
std::recursive_mutex t_mutex
static configobject::tref move_object_request(configobject::tref objref, std::string const &destfile)
configobject::tref lookup(dbe::cokey const &desc)
static configobject::tref get(dbe::cokey const &desc)
static configobject::tref rename_object_request(configobject::tref objref, std::string const &newname)
static configobject::tref create_object_request(dbe::t_config_object_preimage const &rep)
Represents database objects.
const std::string & UID() const noexcept
Return object identity.
void referenced_by(std::vector< ConfigObject > &value, const std::string &relationship_name="*", bool check_composite_only=true, unsigned long rlevel=0, const std::vector< std::string > *rclasses=nullptr) const
Get objects which have references to given object.
bool is_null() const noexcept
Check if object's implementation points to null.
const std::string & class_name() const noexcept
Return object's class name.
bool has_obj(std::string const &classname, std::string const &object_uid)
std::string const parse(ers::Issue const &)
config_object_aggregates config_object_aggregator
inner::configobject::tref tref
config_object_preimage< std::string > t_config_object_preimage