The Gaudi Framework
v25r3
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
IssueSeverity.cpp
Go to the documentation of this file.
1
#define GAUDIKERNEL_ISSUESEVERITY_CPP 1
2
3
#include "
GaudiKernel/IssueSeverity.h
"
4
#include "
GaudiKernel/StatusCode.h
"
5
#include "
GaudiKernel/IIssueLogger.h
"
6
#include "
GaudiKernel/System.h
"
7
#include "
GaudiKernel/Bootstrap.h
"
8
#include "
GaudiKernel/ISvcLocator.h
"
9
10
#include <sstream>
11
12
bool
IssueSeverity::m_init
(
false
);
13
IIssueLogger
*
IssueSeverity::m_ers
(0);
14
15
void
IssueSeverity::init
() {
16
if
(!
m_init
) {
17
m_init
=
true
;
18
m_ers
=
Gaudi::svcLocator
()->
service
<
IIssueLogger
>(
"IssueLogger"
).
get
();
19
}
20
}
21
22
IssueSeverity::~IssueSeverity
() {
23
24
if
(!
m_reported
) {
25
report
();
26
// do stuff
27
}
28
29
}
30
31
void
32
IssueSeverity::report
() {
33
34
if
(
m_ers
!= 0) {
35
m_ers
->
report
(
this
);
36
}
else
{
37
std::cerr << *
this
<< std::endl;
38
}
39
m_reported
=
true
;
40
41
}
42
43
44
std::string
45
IssueSeverity::getOrigin
()
const
{
46
std::ostringstream ost;
47
ost <<
m_file
<<
":"
<<
m_line
;
48
return
ost.str();
49
}
50
51
IssueSeverity::operator
StatusCode
()
const
{
52
if
(m_level ==
IssueSeverity::RECOVERABLE
) {
53
return
StatusCode
(
StatusCode::RECOVERABLE
, *
this
);
54
}
else
if
(m_level <
IssueSeverity::ERROR
) {
55
return
StatusCode
(
StatusCode::SUCCESS
, *
this
);
56
}
else
{
57
return
StatusCode
(
StatusCode::FAILURE
, *
this
);
58
}
59
}
IssueSeverity::RECOVERABLE
Definition:
IssueSeverity.h:55
System.h
IssueSeverity::m_init
static bool m_init
Definition:
IssueSeverity.h:98
IssueSeverity::m_ers
static IIssueLogger * m_ers
Definition:
IssueSeverity.h:99
IssueSeverity::report
void report()
Definition:
IssueSeverity.cpp:32
IssueSeverity::init
static void init()
Definition:
IssueSeverity.cpp:15
IssueSeverity::getOrigin
std::string getOrigin() const
Definition:
IssueSeverity.cpp:45
IIssueLogger::report
virtual void report(IssueSeverity::Level level, const std::string &msg, const std::string &origin)=0
IssueSeverity::~IssueSeverity
~IssueSeverity()
Definition:
IssueSeverity.cpp:22
Bootstrap.h
IssueSeverity::ERROR
Definition:
IssueSeverity.h:56
StatusCode::RECOVERABLE
Definition:
StatusCode.h:35
IIssueLogger
Definition:
IIssueLogger.h:11
IssueSeverity::m_file
std::string m_file
Definition:
IssueSeverity.h:96
ISvcLocator::service
StatusCode service(const Gaudi::Utils::TypeNameString &name, T *&svc, bool createIf=true)
Templated method to access a service by name.
Definition:
ISvcLocator.h:82
Gaudi::svcLocator
GAUDI_API ISvcLocator * svcLocator()
StatusCode::FAILURE
Definition:
StatusCode.h:33
IIssueLogger.h
StatusCode::SUCCESS
Definition:
StatusCode.h:34
StatusCode
This class is used for returning status codes from appropriate routines.
Definition:
StatusCode.h:30
IssueSeverity.h
IssueSeverity::m_line
int m_line
Definition:
IssueSeverity.h:95
StatusCode.h
ISvcLocator.h
IssueSeverity::m_reported
bool m_reported
Definition:
IssueSeverity.h:103
GaudiKernel
src
Lib
IssueSeverity.cpp
Generated on Wed Jul 9 2014 09:54:14 for The Gaudi Framework by
1.8.7