DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
conffwk
include
conffwk
ConfigurationPointer.hpp
Go to the documentation of this file.
1
//
2
// DUNE DAQ modification notice:
3
// This file has been modified from the original ATLAS config source for the DUNE DAQ project.
4
// Fork baseline commit: 67a24e731 (2022-10-27).
5
// Renamed since fork: yes (from config/ConfigurationPointer.h to include/conffwk/ConfigurationPointer.hpp).
6
//
7
14
15
#ifndef PYTHONCONFIGURATION_H
16
#define PYTHONCONFIGURATION_H
17
18
#include "
conffwk/Configuration.hpp
"
19
#include <boost/shared_ptr.hpp>
20
21
namespace
dunedaq
{
22
namespace
conffwk
{
23
24
namespace
python
{
25
31
class
ConfigurationPointer
{
32
33
public
:
35
ConfigurationPointer
():
m_shared
(),
m_pointer
(0) {}
36
38
ConfigurationPointer
(
const
std::string& s)
39
:
m_shared
(new
Configuration
(s)),
m_pointer
(0) {}
40
42
ConfigurationPointer
(
const
Configuration
& p)
43
:
m_shared
(),
44
m_pointer
(&const_cast<
Configuration
&>(p)) {}
45
47
ConfigurationPointer
(
const
ConfigurationPointer
& other)
48
:
m_shared
(other.
m_shared
),
49
m_pointer
(const_cast<
ConfigurationPointer
&>(other).
m_pointer
) {}
50
52
ConfigurationPointer
&
operator=
(
const
ConfigurationPointer
& other)
53
{
54
m_shared
= other.
m_shared
;
55
m_pointer
=
const_cast<
ConfigurationPointer
&
>
(other).
m_pointer
;
56
return
*
this
;
57
}
58
60
virtual
~ConfigurationPointer
() {}
61
63
Configuration
*
operator->
() {
return
(
m_pointer
)?
m_pointer
:
m_shared
.get(); }
64
66
Configuration
&
operator*
() {
return
(
m_pointer
)?*
m_pointer
:*
m_shared
; }
67
69
Configuration
*
get
() {
return
(
m_pointer
)?
m_pointer
:
m_shared
.get(); }
70
71
private
:
72
boost::shared_ptr<Configuration>
m_shared
;
//self-initialized Configuration
73
Configuration
*
m_pointer
;
//user initialized Configuration
74
75
};
76
77
}
78
}
// namespace conffwk
79
}
// namespace dunedaq
80
81
#endif
/* PYTHONCONFIGURATION_H */
82
boost::shared_ptr
Definition
ProtocolFlx.hpp:67
dunedaq::conffwk::Configuration
Defines base class for cache of template objects.
Definition
Configuration.hpp:228
dunedaq::conffwk::python::ConfigurationPointer::m_pointer
Configuration * m_pointer
Definition
ConfigurationPointer.hpp:73
dunedaq::conffwk::python::ConfigurationPointer::operator->
Configuration * operator->()
Let python bindings access the configuration pointer.
Definition
ConfigurationPointer.hpp:63
dunedaq::conffwk::python::ConfigurationPointer::ConfigurationPointer
ConfigurationPointer(const ConfigurationPointer &other)
Copying, is shallow. Don't do this at home...
Definition
ConfigurationPointer.hpp:47
dunedaq::conffwk::python::ConfigurationPointer::ConfigurationPointer
ConfigurationPointer()
Default.
Definition
ConfigurationPointer.hpp:35
dunedaq::conffwk::python::ConfigurationPointer::operator=
ConfigurationPointer & operator=(const ConfigurationPointer &other)
Assignment is shallow.
Definition
ConfigurationPointer.hpp:52
dunedaq::conffwk::python::ConfigurationPointer::ConfigurationPointer
ConfigurationPointer(const Configuration &p)
Constructor when the user initializes from C++. In this case, the pointed configuration should never ...
Definition
ConfigurationPointer.hpp:42
dunedaq::conffwk::python::ConfigurationPointer::operator*
Configuration & operator*()
Another way to access the configuration pointer.
Definition
ConfigurationPointer.hpp:66
dunedaq::conffwk::python::ConfigurationPointer::ConfigurationPointer
ConfigurationPointer(const std::string &s)
Constructor when the user initializes from within python.
Definition
ConfigurationPointer.hpp:38
dunedaq::conffwk::python::ConfigurationPointer::m_shared
boost::shared_ptr< Configuration > m_shared
Definition
ConfigurationPointer.hpp:72
dunedaq::conffwk::python::ConfigurationPointer::~ConfigurationPointer
virtual ~ConfigurationPointer()
Destructor. If started from string, destroy if the last instance, otherwise, doesn't do anything at a...
Definition
ConfigurationPointer.hpp:60
dunedaq::conffwk::python::ConfigurationPointer::get
Configuration * get()
Get the configuration pointer.
Definition
ConfigurationPointer.hpp:69
Configuration.hpp
conffwk entry point
dunedaq::conffwk::python
Definition
ConfigurationPointer.hpp:24
dunedaq::conffwk
Definition
Change.hpp:23
dunedaq
Including Qt Headers.
Definition
module.cpp:16
Generated on
for DUNE-DAQ by
1.17.0