DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dbe::inner::configobject::vref Class Reference

#include <config_reference.hpp>

Inheritance diagram for dbe::inner::configobject::vref:
[legend]
Collaboration diagram for dbe::inner::configobject::vref:
[legend]

Private Member Functions

dunedaq::conffwk::ConfigObjectref (bool check_null=false) const
 
 vref (std::weak_ptr< oref > other)
 

Private Attributes

std::weak_ptr< orefrefered
 

Friends

class ref_interface< vref >
 
class dbe::inner::dbcontroller
 

Additional Inherited Members

- Public Member Functions inherited from dbe::inner::configobject::ref_interface< vref >
bool is_null () const
 
std::string UID () const
 
std::string class_name () const
 
std::string full_name () const
 
std::string contained_in () const
 
get (std::string const &key)
 
void get (std::string const &key, U &val)
 
std::vector< vrefreferenced_by (std::string const &name="*", bool check_composite_only=true) const
 
void set_obj_null (std::string const &name, bool is_simple, bool skip_non_null_check=false)
 
void set_obj (std::string const &name, vref const &other, bool skip_non_null_check=false)
 
void set_objs (std::string const &name, std::vector< vref > const &others, bool skip_non_null_check=false)
 
void set_by_val (std::string const &name, U val)
 
void set_by_ref (std::string const &name, U &val)
 
void set_enum (std::string const &name, std::string const &val)
 
void set_enum (std::string const &name, const std::vector< std::string > &value)
 
void set_class (std::string const &name, std::string const &val)
 
void set_class (std::string const &name, const std::vector< std::string > &value)
 
void set_date (std::string const &name, std::string const &val)
 
void set_date (std::string const &name, const std::vector< std::string > &value)
 
void set_time (std::string const &name, std::string const &val)
 
void set_time (std::string const &name, const std::vector< std::string > &value)
 
void move (std::string const &at)
 
void print_ref (std::ostream &s, dunedaq::conffwk::Configuration &conf, const std::string &prefix="", bool show_contained_in=false) const
 Print details of object's attributes and relationships.
 
- Protected Member Functions inherited from dbe::inner::configobject::ref_interface< vref >
getdirect (std::string const &key) const
 

Detailed Description

Light weight observer pointer interface using weak pointer to avoid cyclic referencing

Definition at line 477 of file config_reference.hpp.

Constructor & Destructor Documentation

◆ vref()

dbe::inner::configobject::vref::vref ( std::weak_ptr< oref > other)
inlineprivate

Definition at line 493 of file config_reference.hpp.

494 : refered(other)
495 {
496 }

Member Function Documentation

◆ ref()

dunedaq::conffwk::ConfigObject & dbe::inner::configobject::vref::ref ( bool check_null = false) const
inlineprivate

Definition at line 483 of file config_reference.hpp.

484 {
485 std::shared_ptr<oref> return_val =
486 refered.expired() ?
487 std::shared_ptr<oref>(new oref(dunedaq::conffwk::ConfigObject())) : refered.lock();
488 dunedaq::conffwk::ConfigObject & rval = static_cast<dunedaq::conffwk::ConfigObject &>(*return_val);
490 return rval;
491 }
Represents database objects.
#define DEBUG_THROW_ON_NULL_CONFIGOBJECT_REFERENCE

Friends And Related Symbol Documentation

◆ dbe::inner::dbcontroller

friend class dbe::inner::dbcontroller
friend

Definition at line 499 of file config_reference.hpp.

◆ ref_interface< vref >

friend class ref_interface< vref >
friend

Definition at line 493 of file config_reference.hpp.

Member Data Documentation

◆ refered

std::weak_ptr<oref> dbe::inner::configobject::vref::refered
private

Definition at line 481 of file config_reference.hpp.


The documentation for this class was generated from the following file: