DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
ers::AnyIssue Class Reference

#include <AnyIssue.hpp>

Inheritance diagram for ers::AnyIssue:
[legend]
Collaboration diagram for ers::AnyIssue:
[legend]

Public Member Functions

 AnyIssue (const std::string &type, const ers::Context &context, const std::string &message="")
 
 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)
 
 ~AnyIssue () noexcept
 
virtual ers::Issueclone () const
 
virtual const char * get_class_name () const
 Get key for class (used for serialisation)
 
virtual inheritance_type get_class_inheritance () const final
 Get inheritance chain.
 
virtual void raise () const
 throws a copy of this issue preserving the real issue type
 
- Public Member Functions inherited from ers::Issue
 Issue (const Context &context, const std::string &message=std::string())
 
 Issue (const Context &context, const std::exception &cause)
 
 Issue (const Context &context, const std::string &message, const std::exception &cause)
 
 Issue (const Issue &other)
 
virtual ~Issue () noexcept
 
void add_qualifier (const std::string &qualif)
 adds a qualifier to the issue
 
const Issuecause () const
 return the cause Issue of this Issue
 
const Contextcontext () const
 Context of the issue.
 
const std::string & message () const
 General cause of the issue.
 
const std::vector< std::string > & qualifiers () const
 return array of qualifiers
 
const string_mapparameters () const
 return array of parameters
 
ers::Severity severity () const
 severity of the issue
 
template<class Precision = std::chrono::seconds>
std::string time (const std::string &format="%Y-%b-%d %H:%M:%S", bool isUTC=false) const
 string representation of local time of the issue
 
template<class Precision >
std::string localtime (const std::string &format="%Y-%b-%d %H:%M:%S") const
 string representation of UTC time of the issue
 
template<class Precision >
std::string gmtime (const std::string &format="%Y-%b-%d %H:%M:%S") const
 
std::time_t time_t () const
 seconds since 1 Jan 1970
 
const system_clock::time_point & ptime () const
 original time point of the issue
 
const char * what () const noexcept
 General cause of the issue.
 
ers::Severity set_severity (ers::Severity severity) const
 
void wrap_message (const std::string &begin, const std::string &end)
 

Private Attributes

std::string m_type
 
inheritance_type m_inheritance
 

Friends

class IssueFactory
 

Additional Inherited Members

- Protected Member Functions inherited from ers::Issue
 Issue (Severity severity, const system_clock::time_point &time, const ers::Context &context, const std::string &message, const std::vector< std::string > &qualifiers, const std::map< std::string, std::string > &parameters, const ers::Issue *cause=0)
 Gets a value of any type that has an input operator for the standard stream defined.
 
template<typename T >
void get_value (const std::string &key, T &value) const
 
void get_value (const std::string &key, const char *&value) const
 
void get_value (const std::string &key, std::string &value) const
 Sets a value of any type that has an output operator for the standard stream defined.
 
template<typename T >
void set_value (const std::string &key, T value)
 
void set_message (const std::string &message)
 
void prepend_message (const std::string &message)
 
- Static Protected Member Functions inherited from ers::Issue
static auto _get_inheritance ()
 

Detailed Description

Definition at line 21 of file AnyIssue.hpp.

Constructor & Destructor Documentation

◆ AnyIssue() [1/2]

ers::AnyIssue::AnyIssue ( const std::string & type,
const ers::Context & context,
const std::string & message = "" )
inline

Definition at line 27 of file AnyIssue.hpp.

30 : ers::Issue( context, message ),
31 m_type( type )
32 { ; }
std::string m_type
Definition AnyIssue.hpp:64
Base class for any user define issue.
Definition Issue.hpp:69
const Context & context() const
Context of the issue.
Definition Issue.hpp:100

◆ AnyIssue() [2/2]

ers::AnyIssue::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 )
inline

Definition at line 34 of file AnyIssue.hpp.

43 : ers::Issue( severity, time, context, message, qualifiers, parameters, cause ),
44 m_type( type ),
45 m_inheritance( chain )
46 { ; }
inheritance_type m_inheritance
Definition AnyIssue.hpp:65
ers::Severity severity() const
severity of the issue
Definition Issue.hpp:112
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

◆ ~AnyIssue()

ers::AnyIssue::~AnyIssue ( )
inlinenoexcept

Definition at line 48 of file AnyIssue.hpp.

48{ ; }

Member Function Documentation

◆ clone()

virtual ers::Issue * ers::AnyIssue::clone ( ) const
inlinevirtual

Implements ers::Issue.

Definition at line 50 of file AnyIssue.hpp.

51 { return new AnyIssue( *this ); }
AnyIssue(const std::string &type, const ers::Context &context, const std::string &message="")
Definition AnyIssue.hpp:27

◆ get_class_inheritance()

virtual inheritance_type ers::AnyIssue::get_class_inheritance ( ) const
inlinefinalvirtual

Get inheritance chain.

Implements ers::Issue.

Definition at line 56 of file AnyIssue.hpp.

56 {
57 return m_inheritance ;
58 }

◆ get_class_name()

virtual const char * ers::AnyIssue::get_class_name ( ) const
inlinevirtual

Get key for class (used for serialisation)

Implements ers::Issue.

Definition at line 53 of file AnyIssue.hpp.

54 { return m_type.c_str(); }

◆ raise()

virtual void ers::AnyIssue::raise ( ) const
inlinevirtual

throws a copy of this issue preserving the real issue type

Implements ers::Issue.

Definition at line 60 of file AnyIssue.hpp.

61 { throw AnyIssue(*this); }

Friends And Related Symbol Documentation

◆ IssueFactory

friend class IssueFactory
friend

Definition at line 24 of file AnyIssue.hpp.

Member Data Documentation

◆ m_inheritance

inheritance_type ers::AnyIssue::m_inheritance
private

Definition at line 65 of file AnyIssue.hpp.

◆ m_type

std::string ers::AnyIssue::m_type
private

Definition at line 64 of file AnyIssue.hpp.


The documentation for this class was generated from the following file: