DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
opmonlib
include
opmonlib
OpMonFacility.hpp
Go to the documentation of this file.
1
8
9
#ifndef OPMONLIB_INCLUDE_OPMONLIB_OPMONFACILITY_HPP_
10
#define OPMONLIB_INCLUDE_OPMONLIB_OPMONFACILITY_HPP_
11
12
#include "
Issues.hpp
"
13
14
#include "
logging/Logging.hpp
"
// NOTE: if ISSUES ARE DECLARED BEFORE include logging/Logging.hpp, TLOG_DEBUG<<issue wont work.
15
#include "
opmonlib/opmon_entry.pb.h
"
16
#include <cetlib/BasicPluginFactory.h>
17
#include <cetlib/compiler_macros.h>
18
19
#include <iostream>
20
#include <memory>
21
#include <optional>
22
#include <string>
23
24
#ifndef EXTERN_C_FUNC_DECLARE_START
25
// NOLINTNEXTLINE(build/define_used)
26
#define EXTERN_C_FUNC_DECLARE_START \
27
extern "C" \
28
{
29
#endif
30
35
36
// NOLINTNEXTLINE(build/define_used)
37
#define DEFINE_DUNE_OPMON_FACILITY(klass) \
38
EXTERN_C_FUNC_DECLARE_START \
39
std::shared_ptr<dunedaq::opmonlib::OpMonFacility> make(std::string facility, \
40
std::optional<dunedaq::opmon::OpMonId> o) \
41
{ \
42
return std::shared_ptr<dunedaq::opmonlib::OpMonFacility>(new klass(facility, o)); \
43
} \
44
}
45
46
namespace
dunedaq
{
47
48
ERS_DECLARE_ISSUE
(
opmonlib
,
49
OpMonPublishFailure,
50
uri
<<
" Failed to publish "
<< measurment <<
" from "
<< opmon_id,
51
((std::string)
uri
)((std::string)measurment)((std::string)opmon_id))
52
53
}
54
55
namespace
dunedaq::opmonlib
{
56
57
class
OpMonFacility
58
{
59
public
:
60
explicit
OpMonFacility
(std::string
uri
)
61
:
m_uri
(
uri
)
62
{
63
;
64
}
65
66
virtual
~OpMonFacility
() =
default
;
67
OpMonFacility
(
const
OpMonFacility
&) =
delete
;
68
OpMonFacility
&
operator=
(
const
OpMonFacility
&) =
delete
;
69
OpMonFacility
(
OpMonFacility
&&) =
delete
;
70
OpMonFacility
&
operator=
(
OpMonFacility
&&) =
delete
;
71
72
const
auto
&
get_URI
()
const
{
return
m_uri
; }
73
74
// Publish information
80
virtual
void
publish
(
opmon::OpMonEntry
&&)
const
= 0;
81
82
private
:
83
std::string
m_uri
;
84
};
85
86
using
OptionalOrigin
= std::optional<dunedaq::opmon::OpMonId>;
87
std::shared_ptr<OpMonFacility>
88
makeOpMonFacility
(std::string
const
& facility,
OptionalOrigin
=
OptionalOrigin
());
89
90
}
// namespace dunedaq::opmonlib
91
92
#endif
// OPMONLIB_INCLUDE_OPMONLIB_OPMONFACILITY_HPP_
dunedaq::opmon::OpMonEntry
Definition
opmon_entry.pb.h:693
dunedaq::opmonlib::OpMonFacility::~OpMonFacility
virtual ~OpMonFacility()=default
dunedaq::opmonlib::OpMonFacility::operator=
OpMonFacility & operator=(const OpMonFacility &)=delete
OpMonFacility is not copy-assignable.
dunedaq::opmonlib::OpMonFacility::OpMonFacility
OpMonFacility(const OpMonFacility &)=delete
OpMonFacility is not copy-constructible.
dunedaq::opmonlib::OpMonFacility::OpMonFacility
OpMonFacility(OpMonFacility &&)=delete
OpMonFacility is not move-constructible.
dunedaq::opmonlib::OpMonFacility::m_uri
std::string m_uri
Definition
OpMonFacility.hpp:83
dunedaq::opmonlib::OpMonFacility::operator=
OpMonFacility & operator=(OpMonFacility &&)=delete
OpMonFacility is not move-assignable.
dunedaq::opmonlib::OpMonFacility::publish
virtual void publish(opmon::OpMonEntry &&) const =0
dunedaq::opmonlib::OpMonFacility::get_URI
const auto & get_URI() const
Definition
OpMonFacility.hpp:72
dunedaq::opmonlib::OpMonFacility::OpMonFacility
OpMonFacility(std::string uri)
Definition
OpMonFacility.hpp:60
Logging.hpp
ERS_DECLARE_ISSUE
#define ERS_DECLARE_ISSUE(namespace_name, class_name, message_, attributes)
Definition
macro.hpp:71
dunedaq::opmonlib
Definition
BackendOpMonFacility.hpp:11
dunedaq::opmonlib::makeOpMonFacility
std::shared_ptr< OpMonFacility > makeOpMonFacility(std::string const &facility, OptionalOrigin=OptionalOrigin())
Definition
OpMonFacility.cpp:15
dunedaq::opmonlib::OptionalOrigin
std::optional< dunedaq::opmon::OpMonId > OptionalOrigin
Definition
OpMonFacility.hpp:86
dunedaq
The DUNE-DAQ namespace.
Definition
cib_utilities.cpp:5
dunedaq::uri
Unsupported std::string uri Execution of command std::string error Failed to create CommandFacility uri
Definition
Issues.hpp:71
opmonlib
Definition
__init__.py:1
opmon_entry.pb.h
Issues.hpp
Generated on
for DUNE-DAQ by
1.18.0