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
24
namespace
inner
25
{
26
27
namespace
configobject
28
{
29
30
//------------------------------------------------------------------------------------------
37
template
<
typename
T = config_
object
_linker>
class
aref
:
ref_interface
<aref<T>>
38
{
39
private
:
40
// A reference to the current reference in the database, which may have been removed
41
tref
this_object_ref
;
42
43
// The copy of the object
44
T
this_object_image
;
45
46
const
tref
&
ref
()
const
47
{
48
return
this_object_ref
;
49
}
50
51
public
:
52
aref
(
tref
const
& o )
53
:
this_object_ref
( o ),
54
this_object_image
( o )
55
{
56
}
57
58
friend
class
ref_interface
<
aref
> ;
59
friend
class
inner::dbcontroller
;
60
};
61
//------------------------------------------------------------------------------------------
62
63
//------------------------------------------------------------------------------------------
72
template
<
typename
T = config_
object
_linker>
class
gref
73
{
74
public
:
75
typedef
T
t_extractor
;
76
typedef
std::function<void (
dref
const
) >
config_action_notifiable
;
77
83
bool
is_null
()
const
;
84
92
void
notify
(
config_action_notifiable
tele );
93
94
private
:
95
typedef
std::deque<t_extractor>
type_extractor_stack
;
96
typedef
std::vector<dbe::tref>
type_ref_container
;
97
98
105
tref
rebuild
();
106
112
void
record
(
tref
const
& obj );
113
117
void
post
();
118
119
120
type_extractor_stack
this_remove_stack
;
121
type_ref_container
this_notify_stack
;
122
123
friend
class
inner::dbcontroller
;
124
};
125
//------------------------------------------------------------------------------------------
126
127
}
// namespace configobject
128
129
}
// namespace inner
130
131
}
// namespace dbe
132
133
#endif
/* DBE_CONFIG_REFERENCE_COPY_HPP_ */
dbe::inner::configobject::aref
Definition
config_reference_copy.hpp:38
dbe::inner::configobject::aref::ref
const tref & ref() const
Definition
config_reference_copy.hpp:46
dbe::inner::configobject::aref::aref
aref(tref const &o)
Definition
config_reference_copy.hpp:52
dbe::inner::configobject::aref< config_object_linked< std::string > >::this_object_ref
tref this_object_ref
Definition
config_reference_copy.hpp:41
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:44
dbe::inner::configobject::gref
Definition
config_reference_copy.hpp:73
dbe::inner::configobject::gref::record
void record(tref const &obj)
Definition
dbcontroller.cpp:65
dbe::inner::configobject::gref< config_object_aggregates< std::string > >::this_notify_stack
type_ref_container this_notify_stack
Definition
config_reference_copy.hpp:121
dbe::inner::configobject::gref::t_extractor
T t_extractor
Definition
config_reference_copy.hpp:75
dbe::inner::configobject::gref::config_action_notifiable
std::function< void(dref const) > config_action_notifiable
Definition
config_reference_copy.hpp:76
dbe::inner::configobject::gref::post
void post()
Definition
dbcontroller.cpp:78
dbe::inner::configobject::gref::is_null
bool is_null() const
Definition
dbcontroller.cpp:136
dbe::inner::configobject::gref< config_object_aggregates< std::string > >::this_remove_stack
type_extractor_stack this_remove_stack
Definition
config_reference_copy.hpp:120
dbe::inner::configobject::gref::type_extractor_stack
std::deque< t_extractor > type_extractor_stack
Definition
config_reference_copy.hpp:95
dbe::inner::configobject::gref::rebuild
tref rebuild()
Definition
dbcontroller.cpp:114
dbe::inner::configobject::gref::type_ref_container
std::vector< dbe::tref > type_ref_container
Definition
config_reference_copy.hpp:96
dbe::inner::configobject::gref::notify
void notify(config_action_notifiable tele)
Definition
dbcontroller.cpp:96
dbe::inner::configobject::ref_interface
Definition
config_reference.hpp:154
dbe::inner::configobject::ref_interface::tref
friend class dbe::inner::configobject::tref
Definition
config_reference.hpp:354
dbe::inner::configobject::tref
Definition
config_reference.hpp:457
dbe::inner::dbcontroller
Definition
dbcontroller.hpp:30
config_reference.hpp
confobject_extra.hpp
dbe::inner::configobject
Definition
config_reference.hpp:39
dbe::inner
Definition
config_reference.hpp:35
dbe
Include QT Headers.
Definition
BatchChangeWidget.hpp:18
dbe::dref
config_object_description dref
Definition
confobject_desc.hpp:109
Generated on
for DUNE-DAQ by
1.17.0