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/config_reference.hpp
"
12
#include "
dbe/confobject_desc.hpp
"
13
#include "
dbe/confobject_extra.hpp
"
14
15
#include "
dbe/config_direct_access.hpp
"
16
17
#include <iostream>
18
#include <memory>
19
#include <mutex>
20
#include <string>
21
#include <unordered_map>
22
#include <vector>
23
24
namespace
dbe
{
25
namespace
inner
{
26
//------------------------------------------------------------------------------------------
27
class
dbcontroller
28
{
29
public
:
37
static
configobject::tref
get
(
dbe::cokey
const
& desc);
38
45
static
std::vector<configobject::tref>
gets
(std::string
const
& cname, std::string
const
& query =
""
);
46
53
static
configobject::tref
create_object_request
(
dbe::t_config_object_preimage
const
& rep);
54
61
template
<
typename
T>
62
static
configobject::tref
create_object_request
(
configobject::aref<T>
const
& obj);
63
71
template
<
typename
T>
72
static
configobject::tref
create_object_request
(
configobject::gref<T>
const
& objref);
73
74
template
<
typename
T>
75
static
configobject::tref
create_object_request
(
configobject::gref<T>
& objref,
76
typename
configobject::gref<T>::config_action_notifiable
notice);
77
82
template
<
typename
T>
83
static
configobject::gref<T>
delete_object_request
(
configobject::tref
const
& obj);
84
85
template
<
typename
T>
86
static
configobject::gref<T>
delete_object_request
(
configobject::tref
const
& obj,
87
typename
configobject::gref<T>::config_action_notifiable
notice);
88
98
static
configobject::tref
move_object_request
(
configobject::tref
objref, std::string
const
& destfile);
99
109
static
configobject::tref
rename_object_request
(
configobject::tref
objref, std::string
const
& newname);
110
115
static
void
flush
();
116
117
private
:
118
typedef
dbe::cokey
t_object_key
;
119
typedef
std::shared_ptr<configobject::oref>
t_object_handle
;
120
typedef
std::unordered_map<t_object_key, t_object_handle, configobject::refhasher>
t_object_map
;
121
126
static
dbcontroller
&
ref
();
127
134
configobject::tref
insert
(
dunedaq::conffwk::ConfigObject
const
&);
135
144
configobject::tref
lookup
(
dbe::cokey
const
& desc);
145
152
configobject::tref
rename
(
configobject::tref
objref, std::string
const
& aname);
153
162
template
<
typename
T>
163
configobject::gref<T>
remove
(
dbe::tref
ref
);
164
173
std::vector<configobject::tref>
referenced_by
(
configobject::tref
objref,
174
std::string
const
& name =
"*"
,
175
bool
check_composite_only =
true
);
176
177
t_object_map
this_allobjects
;
178
179
typedef
std::recursive_mutex
t_mutex
;
180
typedef
std::lock_guard<t_mutex>
locker
;
181
static
t_mutex
this_lock
;
182
183
dbcontroller
();
184
dbcontroller
(
dbcontroller
const
&) =
delete
;
185
dbcontroller
&
operator=
(
dbcontroller
const
&) =
delete
;
186
187
friend
class
configobject::tref
;
188
};
189
190
}
// namespace inner
191
192
}
// end namespace dbe
193
//------------------------------------------------------------------------------------------
194
195
#endif
/* DBE_DBCONTROLLER_H_ */
dbe::inner::configobject::aref
Definition
config_reference_copy.hpp:36
dbe::inner::configobject::gref
Definition
config_reference_copy.hpp:69
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:72
dbe::inner::configobject::tref
Definition
config_reference.hpp:416
dbe::inner::dbcontroller::dbcontroller
dbcontroller()
dbe::inner::dbcontroller::this_lock
static t_mutex this_lock
Definition
dbcontroller.hpp:181
dbe::inner::dbcontroller::t_object_map
std::unordered_map< t_object_key, t_object_handle, configobject::refhasher > t_object_map
Definition
dbcontroller.hpp:120
dbe::inner::dbcontroller::rename
configobject::tref rename(configobject::tref objref, std::string const &aname)
Definition
dbcontroller.cpp:326
dbe::inner::dbcontroller::flush
static void flush()
Definition
dbcontroller.cpp:197
dbe::inner::dbcontroller::ref
static dbcontroller & ref()
Definition
dbcontroller.cpp:188
dbe::inner::dbcontroller::t_object_key
dbe::cokey t_object_key
Definition
dbcontroller.hpp:118
dbe::inner::dbcontroller::remove
configobject::gref< T > remove(dbe::tref ref)
Definition
dbcontroller.cpp:427
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:177
dbe::inner::dbcontroller::locker
std::lock_guard< t_mutex > locker
Definition
dbcontroller.hpp:180
dbe::inner::dbcontroller::gets
static std::vector< configobject::tref > gets(std::string const &cname, std::string const &query="")
Definition
dbcontroller.cpp:363
dbe::inner::dbcontroller::operator=
dbcontroller & operator=(dbcontroller const &)=delete
dbe::inner::dbcontroller::insert
configobject::tref insert(dunedaq::conffwk::ConfigObject const &)
Definition
dbcontroller.cpp:403
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:207
dbe::inner::dbcontroller::t_mutex
std::recursive_mutex t_mutex
Definition
dbcontroller.hpp:179
dbe::inner::dbcontroller::move_object_request
static configobject::tref move_object_request(configobject::tref objref, std::string const &destfile)
Definition
dbcontroller.cpp:306
dbe::inner::dbcontroller::lookup
configobject::tref lookup(dbe::cokey const &desc)
Definition
dbcontroller.cpp:382
dbe::inner::dbcontroller::t_object_handle
std::shared_ptr< configobject::oref > t_object_handle
Definition
dbcontroller.hpp:119
dbe::inner::dbcontroller::get
static configobject::tref get(dbe::cokey const &desc)
Definition
dbcontroller.cpp:357
dbe::inner::dbcontroller::rename_object_request
static configobject::tref rename_object_request(configobject::tref objref, std::string const &newname)
Definition
dbcontroller.cpp:318
dbe::inner::dbcontroller::create_object_request
static configobject::tref create_object_request(dbe::t_config_object_preimage const &rep)
Definition
dbcontroller.cpp:256
dbe::inner::dbcontroller::dbcontroller
dbcontroller(dbcontroller const &)=delete
dunedaq::conffwk::ConfigObject
Represents database objects.
Definition
ConfigObject.hpp:54
config_direct_access.hpp
config_reference.hpp
confobject_desc.hpp
confobject_extra.hpp
dbe::inner
Definition
config_reference.hpp:33
dbe
Include QT Headers.
Definition
BatchChangeWidget.hpp:16
dbe::tref
inner::configobject::tref tref
Definition
tref.hpp:36
dbe::t_config_object_preimage
config_object_preimage< std::string > t_config_object_preimage
Definition
confobject_desc.hpp:128
dbe::cokey
config_object_key cokey
Definition
config_object_key.hpp:36
tref.hpp
Generated on
for DUNE-DAQ by
1.18.0