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 <string>
25
#include <
ers/Issue.hpp
>
26
#include <
ers/IssueReceiver.hpp
>
27
32
namespace
ers
{
33
class
Issue
;
34
40
class
InputStream
{
41
friend
class
StreamManager
;
42
43
public
:
44
virtual
~InputStream
() {
45
;
46
}
47
48
protected
:
49
InputStream
();
50
52
void
receive
(
const
Issue
&issue);
53
54
private
:
55
InputStream
(
const
InputStream
&other) =
delete
;
56
InputStream
&
operator=
(
const
InputStream
&) =
delete
;
57
58
void
set_receiver
(
IssueReceiver
*receiver) {
59
m_receiver
= receiver;
60
}
61
62
IssueReceiver
*
m_receiver
;
63
};
64
}
65
66
#include <
ers/StreamFactory.hpp
>
67
68
#define ERS_REGISTER_INPUT_STREAM( class, name, params ) \
69
namespace { \
70
struct InputStreamRegistrator { \
71
static ers::InputStream * create( const std::initializer_list<std::string> & params ) \
72
{ return new class( params ); } \
73
InputStreamRegistrator() \
74
{ ers::StreamFactory::instance().register_in_stream( name, create ); } \
75
} registrator_mp; \
76
}
77
78
#endif
79
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:44
ers::InputStream::set_receiver
void set_receiver(IssueReceiver *receiver)
Definition
InputStream.hpp:58
ers::InputStream::StreamManager
friend class StreamManager
Definition
InputStream.hpp:41
ers::InputStream::m_receiver
IssueReceiver * m_receiver
Definition
InputStream.hpp:62
ers::InputStream::InputStream
InputStream()
Will be called when a new issue is received.
Definition
InputStream.cpp:33
ers::InputStream::receive
void receive(const Issue &issue)
Definition
InputStream.cpp:37
ers::IssueReceiver
ERS Issue receiver interface.
Definition
IssueReceiver.hpp:42
ers::Issue
Base class for any user define issue.
Definition
Issue.hpp:80
ers
Definition
Logger.hxx:202
Generated on
for DUNE-DAQ by
1.17.0