DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
dbe
include
dbe
config_reference_copy.hpp
Go to the documentation of this file.
1
// DUNE DAQ modification notice:
2
// This file has been modified from the original ATLAS dbe source for the DUNE DAQ project.
3
// Fork baseline commit: dbe-02-12-17 (2022-05-12).
4
// Renamed since fork: yes (from dbe/config_reference_copy.hpp to include/dbe/config_reference_copy.hpp).
5
6
/************************************************************
7
* config_reference_copy.hpp
8
*
9
* Created on: Feb 4, 2016
10
* Author: Leonidas Georgopoulos
11
************************************************************/
12
13
#ifndef DBE_CONFIG_REFERENCE_COPY_HPP_
14
#define DBE_CONFIG_REFERENCE_COPY_HPP_
15
16
#include "
dbe/config_reference.hpp
"
17
#include "
dbe/confobject_extra.hpp
"
18
19
#include <functional>
20
21
namespace
dbe
{
22
23
namespace
inner
{
24
25
namespace
configobject
{
26
27
//------------------------------------------------------------------------------------------
34
template
<
typename
T = config_
object
_linker>
35
class
aref
:
ref_interface
<aref<T>>
36
{
37
private
:
38
// A reference to the current reference in the database, which may have been removed
39
tref
this_object_ref
;
40
41
// The copy of the object
42
T
this_object_image
;
43
44
const
tref
&
ref
()
const
{
return
this_object_ref
; }
45
46
public
:
47
aref
(
tref
const
& o)
48
:
this_object_ref
(o)
49
,
this_object_image
(o)
50
{
51
}
52
53
friend
class
ref_interface
<
aref
>;
54
friend
class
inner::dbcontroller
;
55
};
56
//------------------------------------------------------------------------------------------
57
58
//------------------------------------------------------------------------------------------
67
template
<
typename
T = config_
object
_linker>
68
class
gref
69
{
70
public
:
71
typedef
T
t_extractor
;
72
typedef
std::function<void(
dref
const
)>
config_action_notifiable
;
73
79
bool
is_null
()
const
;
80
88
void
notify
(
config_action_notifiable
tele);
89
90
private
:
91
typedef
std::deque<t_extractor>
type_extractor_stack
;
92
typedef
std::vector<dbe::tref>
type_ref_container
;
93
100
tref
rebuild
();
101
107
void
record
(
tref
const
& obj);
108
112
void
post
();
113
114
type_extractor_stack
this_remove_stack
;
115
type_ref_container
this_notify_stack
;
116
117
friend
class
inner::dbcontroller
;
118
};
119
//------------------------------------------------------------------------------------------
120
121
}
// namespace configobject
122
123
}
// namespace inner
124
125
}
// namespace dbe
126
127
#endif
/* DBE_CONFIG_REFERENCE_COPY_HPP_ */
dbe::inner::configobject::aref
Definition
config_reference_copy.hpp:36
dbe::inner::configobject::aref::ref
const tref & ref() const
Definition
config_reference_copy.hpp:44
dbe::inner::configobject::aref::aref
aref(tref const &o)
Definition
config_reference_copy.hpp:47
dbe::inner::configobject::aref< config_object_linked< std::string > >::this_object_ref
tref this_object_ref
Definition
config_reference_copy.hpp:39
dbe::inner::configobject::aref< config_object_linked< std::string > >::this_object_image
config_object_linked< std::string > this_object_image
Definition
config_reference_copy.hpp:42
dbe::inner::configobject::gref
Definition
config_reference_copy.hpp:69
dbe::inner::configobject::gref::record
void record(tref const &obj)
Definition
dbcontroller.cpp:60
dbe::inner::configobject::gref< config_object_aggregates< std::string > >::this_notify_stack
type_ref_container this_notify_stack
Definition
config_reference_copy.hpp:115
dbe::inner::configobject::gref::t_extractor
T t_extractor
Definition
config_reference_copy.hpp:71
dbe::inner::configobject::gref::post
void post()
Definition
dbcontroller.cpp:73
dbe::inner::configobject::gref::is_null
bool is_null() const
Definition
dbcontroller.cpp:125
dbe::inner::configobject::gref::config_action_notifiable
std::function< void(dref const)> config_action_notifiable
Definition
config_reference_copy.hpp:72
dbe::inner::configobject::gref< config_object_aggregates< std::string > >::this_remove_stack
type_extractor_stack this_remove_stack
Definition
config_reference_copy.hpp:114
dbe::inner::configobject::gref::type_extractor_stack
std::deque< t_extractor > type_extractor_stack
Definition
config_reference_copy.hpp:91
dbe::inner::configobject::gref::rebuild
tref rebuild()
Definition
dbcontroller.cpp:105
dbe::inner::configobject::gref::type_ref_container
std::vector< dbe::tref > type_ref_container
Definition
config_reference_copy.hpp:92
dbe::inner::configobject::gref::notify
void notify(config_action_notifiable tele)
Definition
dbcontroller.cpp:90
dbe::inner::configobject::ref_interface
Definition
config_reference.hpp:144
dbe::inner::configobject::ref_interface::tref
friend class dbe::inner::configobject::tref
Definition
config_reference.hpp:316
dbe::inner::configobject::tref
Definition
config_reference.hpp:416
dbe::inner::dbcontroller
Definition
dbcontroller.hpp:28
config_reference.hpp
confobject_extra.hpp
dbe::inner::configobject
Definition
config_reference.hpp:36
dbe::inner
Definition
config_reference.hpp:33
dbe
Include QT Headers.
Definition
BatchChangeWidget.hpp:16
dbe::dref
config_object_description dref
Definition
confobject_desc.hpp:90
Generated on
for DUNE-DAQ by
1.18.0