The Gaudi Framework
v26r0
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 Tue Jan 20 2015 20:27:24 for The Gaudi Framework by
1.8.7