DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
AnyIssue.hpp
Go to the documentation of this file.
1/*
2 * AnyIssue.h
3 * ers
4 *
5 * Created by Serguei Kolos on 26.06.10.
6 * Copyright 2010 CERN. All rights reserved.
7 *
8 */
9
10#ifndef ERS_ANY_ISSUE_H
11#define ERS_ANY_ISSUE_H
12
17#include <ers/Issue.hpp>
18
19namespace ers
20{
21 class AnyIssue : public ers::Issue
22 {
23
24 friend class IssueFactory;
25
26 public:
27 AnyIssue( const std::string & type,
28 const ers::Context & context,
29 const std::string & message = "" )
30 : ers::Issue( context, message ),
31 m_type( type )
32 { ; }
33
34 AnyIssue( const std::string & type,
35 const inheritance_type & chain,
37 const ers::Context & context,
38 const system_clock::time_point & time,
39 const std::string & message,
40 const std::vector<std::string> & qualifiers,
41 const std::map<std::string, std::string> & parameters,
42 const ers::Issue * cause = 0 )
43 : ers::Issue( severity, time, context, message, qualifiers, parameters, cause ),
44 m_type( type ),
45 m_inheritance( chain )
46 { ; }
47
48 ~AnyIssue() noexcept { ; }
49
50 virtual ers::Issue * clone() const
51 { return new AnyIssue( *this ); }
52
53 virtual const char * get_class_name() const
54 { return m_type.c_str(); }
55
57 return m_inheritance ;
58 }
59
60 virtual void raise() const
61 { throw AnyIssue(*this); }
62
63 private:
64 std::string m_type;
66 };
67}
68
69#endif
70
std::string m_type
Definition AnyIssue.hpp:64
virtual inheritance_type get_class_inheritance() const final
Get inheritance chain.
Definition AnyIssue.hpp:56
~AnyIssue() noexcept
Definition AnyIssue.hpp:48
inheritance_type m_inheritance
Definition AnyIssue.hpp:65
AnyIssue(const std::string &type, const inheritance_type &chain, Severity severity, const ers::Context &context, const system_clock::time_point &time, const std::string &message, const std::vector< std::string > &qualifiers, const std::map< std::string, std::string > &parameters, const ers::Issue *cause=0)
Definition AnyIssue.hpp:34
virtual void raise() const
throws a copy of this issue preserving the real issue type
Definition AnyIssue.hpp:60
virtual ers::Issue * clone() const
Definition AnyIssue.hpp:50
AnyIssue(const std::string &type, const ers::Context &context, const std::string &message="")
Definition AnyIssue.hpp:27
virtual const char * get_class_name() const
Get key for class (used for serialisation)
Definition AnyIssue.hpp:53
An abstract interface to access an Issue context.
Definition Context.hpp:30
Implements factory pattern for user defined Issues.
Base class for any user define issue.
Definition Issue.hpp:69
const Context & context() const
Context of the issue.
Definition Issue.hpp:100
const std::vector< std::string > & qualifiers() const
return array of qualifiers
Definition Issue.hpp:106
const string_map & parameters() const
return array of parameters
Definition Issue.hpp:109
const Issue * cause() const
return the cause Issue of this Issue
Definition Issue.hpp:97
std::list< std::string > inheritance_type
Definition Issue.hpp:44
severity
Definition Severity.hpp:26