DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
dbe
include
dbe
dbcontroller.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/dbcontroller.h to include/dbe/dbcontroller.hpp).
5
6
#ifndef DBE_DBCONTROLLER_H_
7
#define DBE_DBCONTROLLER_H_
8
9
#include "
dbe/tref.hpp
"
10
11
#include "
dbe/confobject_desc.hpp
"
12
#include "
dbe/confobject_extra.hpp
"
13
#include "
dbe/config_reference.hpp
"
14
15
#include "
dbe/config_direct_access.hpp
"
16
17
#include <string>
18
#include <vector>
19
#include <memory>
20
#include <iostream>
21
#include <mutex>
22
#include <unordered_map>
23
24
namespace
dbe
25
{
26
namespace
inner
27
{
28
//------------------------------------------------------------------------------------------
29
class
dbcontroller
30
{
31
public
:
32
40
static
configobject::tref
get
(
dbe::cokey
const
& desc );
41
48
static
std::vector<configobject::tref>
gets
( std::string
const
& cname,
49
std::string
const
& query =
""
);
50
57
static
configobject::tref
create_object_request
(
58
dbe::t_config_object_preimage
const
& rep );
59
66
template
<
typename
T>
static
configobject::tref
create_object_request
(
67
configobject::aref<T>
const
& obj );
68
76
template
<
typename
T>
static
configobject::tref
create_object_request
(
77
configobject::gref<T>
const
& objref );
78
79
template
<
typename
T>
static
configobject::tref
create_object_request
(
80
configobject::gref<T>
& objref,
81
typename
configobject::gref<T>::config_action_notifiable
notice );
82
87
template
<
typename
T>
static
configobject::gref<T>
delete_object_request
(
88
configobject::tref
const
& obj );
89
90
template
<
typename
T>
static
configobject::gref<T>
delete_object_request
(
91
configobject::tref
const
& obj,
92
typename
configobject::gref<T>::config_action_notifiable
notice );
93
103
static
configobject::tref
move_object_request
(
configobject::tref
objref,
104
std::string
const
& destfile );
105
115
static
configobject::tref
rename_object_request
(
configobject::tref
objref,
116
std::string
const
& newname );
117
122
static
void
flush
();
123
124
private
:
125
typedef
dbe::cokey
t_object_key
;
126
typedef
std::shared_ptr<configobject::oref>
t_object_handle
;
127
typedef
std::unordered_map<t_object_key, t_object_handle, configobject::refhasher>
128
t_object_map
;
129
134
static
dbcontroller
&
ref
();
135
142
configobject::tref
insert
(
dunedaq::conffwk::ConfigObject
const
& );
143
152
configobject::tref
lookup
(
dbe::cokey
const
& desc );
153
160
configobject::tref
rename
(
configobject::tref
objref, std::string
const
& aname );
161
170
template
<
typename
T>
configobject::gref<T>
remove
(
dbe::tref
ref
);
171
180
std::vector<configobject::tref>
referenced_by
(
configobject::tref
objref,
181
std::string
const
& name =
"*"
,
182
bool
check_composite_only =
true
);
183
184
t_object_map
this_allobjects
;
185
186
typedef
std::recursive_mutex
t_mutex
;
187
typedef
std::lock_guard<t_mutex>
locker
;
188
static
t_mutex
this_lock
;
189
190
dbcontroller
();
191
dbcontroller
(
dbcontroller
const
& ) =
delete
;
192
dbcontroller
&
operator=
(
dbcontroller
const
& ) =
delete
;
193
194
friend
class
configobject::tref
;
195
};
196
197
}
// namespace inner
198
199
}
// end namespace dbe
200
//------------------------------------------------------------------------------------------
201
202
#endif
/* DBE_DBCONTROLLER_H_ */
dbe::inner::configobject::aref
Definition
config_reference_copy.hpp:38
dbe::inner::configobject::gref
Definition
config_reference_copy.hpp:73
dbe::inner::configobject::gref< config_object_aggregates< std::string > >::config_action_notifiable
std::function< void(dref const) > config_action_notifiable
Definition
config_reference_copy.hpp:76
dbe::inner::configobject::tref
Definition
config_reference.hpp:457
dbe::inner::dbcontroller::dbcontroller
dbcontroller()
dbe::inner::dbcontroller::this_lock
static t_mutex this_lock
Definition
dbcontroller.hpp:188
dbe::inner::dbcontroller::t_object_map
std::unordered_map< t_object_key, t_object_handle, configobject::refhasher > t_object_map
Definition
dbcontroller.hpp:128
dbe::inner::dbcontroller::rename
configobject::tref rename(configobject::tref objref, std::string const &aname)
Definition
dbcontroller.cpp:351
dbe::inner::dbcontroller::flush
static void flush()
Definition
dbcontroller.cpp:212
dbe::inner::dbcontroller::ref
static dbcontroller & ref()
Definition
dbcontroller.cpp:204
dbe::inner::dbcontroller::t_object_key
dbe::cokey t_object_key
Definition
dbcontroller.hpp:125
dbe::inner::dbcontroller::remove
configobject::gref< T > remove(dbe::tref ref)
Definition
dbcontroller.cpp:467
dbe::inner::dbcontroller::delete_object_request
static configobject::gref< T > delete_object_request(configobject::tref const &obj)
dbe::inner::dbcontroller::this_allobjects
t_object_map this_allobjects
Definition
dbcontroller.hpp:184
dbe::inner::dbcontroller::locker
std::lock_guard< t_mutex > locker
Definition
dbcontroller.hpp:187
dbe::inner::dbcontroller::gets
static std::vector< configobject::tref > gets(std::string const &cname, std::string const &query="")
Definition
dbcontroller.cpp:393
dbe::inner::dbcontroller::operator=
dbcontroller & operator=(dbcontroller const &)=delete
dbe::inner::dbcontroller::insert
configobject::tref insert(dunedaq::conffwk::ConfigObject const &)
Definition
dbcontroller.cpp:444
dbe::inner::dbcontroller::referenced_by
std::vector< configobject::tref > referenced_by(configobject::tref objref, std::string const &name="*", bool check_composite_only=true)
Definition
dbcontroller.cpp:221
dbe::inner::dbcontroller::t_mutex
std::recursive_mutex t_mutex
Definition
dbcontroller.hpp:186
dbe::inner::dbcontroller::move_object_request
static configobject::tref move_object_request(configobject::tref objref, std::string const &destfile)
Definition
dbcontroller.cpp:330
dbe::inner::dbcontroller::lookup
configobject::tref lookup(dbe::cokey const &desc)
Definition
dbcontroller.cpp:418
dbe::inner::dbcontroller::t_object_handle
std::shared_ptr< configobject::oref > t_object_handle
Definition
dbcontroller.hpp:126
dbe::inner::dbcontroller::get
static configobject::tref get(dbe::cokey const &desc)
Definition
dbcontroller.cpp:388
dbe::inner::dbcontroller::rename_object_request
static configobject::tref rename_object_request(configobject::tref objref, std::string const &newname)
Definition
dbcontroller.cpp:343
dbe::inner::dbcontroller::create_object_request
static configobject::tref create_object_request(dbe::t_config_object_preimage const &rep)
Definition
dbcontroller.cpp:276
dbe::inner::dbcontroller::dbcontroller
dbcontroller(dbcontroller const &)=delete
dunedaq::conffwk::ConfigObject
Represents database objects.
Definition
ConfigObject.hpp:53
config_direct_access.hpp
config_reference.hpp
confobject_desc.hpp
confobject_extra.hpp
dbe::inner
Definition
config_reference.hpp:35
dbe
Include QT Headers.
Definition
BatchChangeWidget.hpp:18
dbe::tref
inner::configobject::tref tref
Definition
tref.hpp:35
dbe::t_config_object_preimage
config_object_preimage< std::string > t_config_object_preimage
Definition
confobject_desc.hpp:144
dbe::cokey
config_object_key cokey
Definition
config_object_key.hpp:36
tref.hpp
Generated on
for DUNE-DAQ by
1.17.0