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 <cetlib/BasicPluginFactory.h>
15
#include <cetlib/compiler_macros.h>
16
#include "
opmonlib/opmon_entry.pb.h
"
17
#include "
logging/Logging.hpp
"
// NOTE: if ISSUES ARE DECLARED BEFORE include logging/Logging.hpp, TLOG_DEBUG<<issue wont work.
18
19
#include <iostream>
20
#include <memory>
21
#include <string>
22
#include <optional>
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, std::optional<dunedaq::opmon::OpMonId> o ) \
40
{ \
41
return std::shared_ptr<dunedaq::opmonlib::OpMonFacility>(new klass(facility, o)); \
42
} \
43
}
44
45
namespace
dunedaq
{
46
47
ERS_DECLARE_ISSUE
(
opmonlib
,
48
OpMonPublishFailure,
49
uri
<<
" Failed to publish "
<< measurment <<
" from "
<< opmon_id,
50
((std::string)
uri
)((std::string)measurment)((std::string)opmon_id)
51
)
52
53
}
54
55
56
57
namespace
dunedaq::opmonlib
{
58
59
class
OpMonFacility
60
{
61
public
:
62
explicit
OpMonFacility
(std::string
uri
) :
m_uri
(
uri
) {;}
63
64
virtual
~OpMonFacility
() =
default
;
65
OpMonFacility
(
const
OpMonFacility
&) =
delete
;
66
OpMonFacility
&
operator=
(
const
OpMonFacility
&) =
delete
;
67
OpMonFacility
(
OpMonFacility
&&) =
delete
;
68
OpMonFacility
&
operator=
(
OpMonFacility
&&) =
delete
;
69
70
const
auto
&
get_URI
()
const
{
return
m_uri
; }
71
72
// Publish information
78
virtual
void
publish
(
opmon::OpMonEntry
&&)
const
= 0;
79
80
private
:
81
std::string
m_uri
;
82
};
83
84
using
OptionalOrigin
= std::optional<dunedaq::opmon::OpMonId>;
85
std::shared_ptr<OpMonFacility>
makeOpMonFacility
(std::string
const
& facility,
OptionalOrigin
=
OptionalOrigin
() ) ;
86
87
}
// namespace dunedaq::opmonlib
88
89
#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:81
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:70
dunedaq::opmonlib::OpMonFacility::OpMonFacility
OpMonFacility(std::string uri)
Definition
OpMonFacility.hpp:62
Logging.hpp
ERS_DECLARE_ISSUE
#define ERS_DECLARE_ISSUE( namespace_name, class_name, message_, attributes)
Definition
macro.hpp:65
dunedaq::opmonlib
Definition
BackendOpMonFacility.hpp:11
dunedaq::opmonlib::makeOpMonFacility
std::shared_ptr< OpMonFacility > makeOpMonFacility(std::string const &facility, OptionalOrigin=OptionalOrigin())
Definition
OpMonFacility.cpp:14
dunedaq::opmonlib::OptionalOrigin
std::optional< dunedaq::opmon::OpMonId > OptionalOrigin
Definition
OpMonFacility.hpp:84
dunedaq
Including Qt Headers.
Definition
module.cpp:16
dunedaq::uri
Unsupported std::string uri Execution of command std::string error Failed to create CommandFacility uri
Definition
Issues.hpp:77
opmonlib
Definition
__init__.py:1
opmon_entry.pb.h
Issues.hpp
Generated on
for DUNE-DAQ by
1.17.0