DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
ers
include
ers
InputStream.hpp
Go to the documentation of this file.
1
/*
2
* DUNE DAQ modification notice:
3
* This file has been modified from the original ATLAS ers source for the DUNE DAQ project.
4
* Fork baseline commit: 8267df82a4f6fe6bf02c4014923eba19eddc4614 (2020-04-14).
5
* Renamed since fork: yes (from ers/InputStream.h to include/ers/InputStream.hpp).
6
*
7
* Original copyright:
8
* Copyright (C) 2001-2020 CERN for the benefit of the ATLAS collaboration.
9
* Licensed under the Apache License, Version 2.0.
10
*/
11
12
/*
13
* InputStream.h
14
* ers
15
*
16
* Created by Serguei Kolos on 02.08.05.
17
* Copyright 2004 CERN. All rights reserved.
18
*
19
*/
20
21
#ifndef ERS_INPUT_STREAM_H
22
#define ERS_INPUT_STREAM_H
23
24
#include <
ers/Issue.hpp
>
25
#include <
ers/IssueReceiver.hpp
>
26
#include <string>
27
32
namespace
ers
{
33
class
Issue
;
34
40
class
InputStream
41
{
42
friend
class
StreamManager
;
43
44
public
:
45
virtual
~InputStream
() { ; }
46
47
protected
:
48
InputStream
();
49
51
void
receive
(
const
Issue
& issue);
52
53
private
:
54
InputStream
(
const
InputStream
& other) =
delete
;
55
InputStream
&
operator=
(
const
InputStream
&) =
delete
;
56
57
void
set_receiver
(
IssueReceiver
* receiver) {
m_receiver
= receiver; }
58
59
IssueReceiver
*
m_receiver
;
60
};
61
}
62
63
#include <
ers/StreamFactory.hpp
>
64
65
#define ERS_REGISTER_INPUT_STREAM(class, name, params) \
66
namespace { \
67
struct InputStreamRegistrator \
68
{ \
69
static ers::InputStream* create(const std::initializer_list<std::string>& params) \
70
{ \
71
return new class(params); \
72
} \
73
InputStreamRegistrator() \
74
{ \
75
ers::StreamFactory::instance().register_in_stream(name, create); \
76
} \
77
} registrator_mp; \
78
}
79
80
#endif
IssueReceiver.hpp
Issue.hpp
StreamFactory.hpp
ers::InputStream::operator=
InputStream & operator=(const InputStream &)=delete
ers::InputStream::InputStream
InputStream(const InputStream &other)=delete
ers::InputStream::~InputStream
virtual ~InputStream()
Definition
InputStream.hpp:45
ers::InputStream::set_receiver
void set_receiver(IssueReceiver *receiver)
Definition
InputStream.hpp:57
ers::InputStream::StreamManager
friend class StreamManager
Definition
InputStream.hpp:42
ers::InputStream::m_receiver
IssueReceiver * m_receiver
Definition
InputStream.hpp:59
ers::InputStream::InputStream
InputStream()
Will be called when a new issue is received.
Definition
InputStream.cpp:32
ers::InputStream::receive
void receive(const Issue &issue)
Definition
InputStream.cpp:39
ers::IssueReceiver
ERS Issue receiver interface.
Definition
IssueReceiver.hpp:41
ers::Issue
Base class for any user define issue.
Definition
Issue.hpp:76
ers
Definition
Logger.hxx:231
Generated on
for DUNE-DAQ by
1.18.0