ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
AthenaKernel
AthenaKernel
getMessageSvc.h
Go to the documentation of this file.
1
// This file's extension implies that it's C, but it's really -*- C++ -*-.
2
3
/*
4
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
#ifndef ATHENAKERNEL_GETMESSAGESVC_H
8
#define ATHENAKERNEL_GETMESSAGESVC_H 1
14
#include <cassert>
15
#include <string>
16
#include <atomic>
17
18
class
IMessageSvc;
19
namespace
Athena
{
20
namespace
Options
{
21
enum
CreateOptions
{
22
Eager
,
23
Lazy
24
};
25
}
26
38
IMessageSvc*
getMessageSvc
(
bool
quiet
=
false
);
39
IMessageSvc*
getMessageSvc
(
const
Options::CreateOptions
o,
bool
quiet
=
false
);
40
43
extern
std::atomic<bool>
getMessageSvcQuiet
;
44
46
52
void
reportMessage
(IMessageSvc* ims,
const
std::string &source,
int
type
,
const
std::string &message);
53
int
outputLevel
(
const
IMessageSvc* ims,
const
std::string &source);
54
void
setOutputLevel
(IMessageSvc* ims,
const
std::string &source,
int
level);
56
60
class
IMessageSvcHolder
{
61
public
:
64
IMessageSvcHolder
() :
m_ims
() {}
65
69
IMessageSvcHolder
(
const
Options::CreateOptions
o);
70
76
IMessageSvcHolder
(IMessageSvc *ims);
77
79
IMessageSvcHolder
(
const
IMessageSvcHolder
&);
80
IMessageSvcHolder
&
operator=
(
const
IMessageSvcHolder
&);
81
83
~IMessageSvcHolder
();
85
IMessageSvc*
get
();
87
operator
IMessageSvc*() {
return
this->
get
(); }
88
private
:
89
IMessageSvc*
m_ims
;
90
};
91
}
92
93
#endif
quiet
bool quiet
Definition
TrigGlobEffCorrValidation.cxx:190
Athena::IMessageSvcHolder::~IMessageSvcHolder
~IMessageSvcHolder()
releases the IMessageSvc
Definition
getMessageSvc.cxx:96
Athena::IMessageSvcHolder::m_ims
IMessageSvc * m_ims
Definition
getMessageSvc.h:89
Athena::IMessageSvcHolder::IMessageSvcHolder
IMessageSvcHolder()
will take the IMessageSvc* lazily from getMessageSvc() in get() Slow, but useful for classes without ...
Definition
getMessageSvc.h:64
Athena::IMessageSvcHolder::operator=
IMessageSvcHolder & operator=(const IMessageSvcHolder &)
Definition
getMessageSvc.cxx:81
Athena::IMessageSvcHolder::get
IMessageSvc * get()
upon first access sets m_ims as needed
Definition
getMessageSvc.cxx:101
Athena::Options
Definition
getMessageSvc.h:20
Athena::Options::CreateOptions
CreateOptions
Definition
getMessageSvc.h:21
Athena::Options::Eager
@ Eager
Definition
getMessageSvc.h:22
Athena::Options::Lazy
@ Lazy
Definition
getMessageSvc.h:23
Athena
Some weak symbol referencing magic... These are declared in AthenaKernel/getMessageSvc....
Definition
AthDsoUtils.h:10
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition
getMessageSvc.cxx:20
Athena::outputLevel
int outputLevel(const IMessageSvc *ims, const std::string &source)
Definition
getMessageSvc.cxx:60
Athena::reportMessage
void reportMessage(IMessageSvc *ims, const std::string &source, int type, const std::string &message)
Wrappers for some of the IMessageSvc methods These can be used from libraries without explicit Gaudi ...
Definition
getMessageSvc.cxx:56
Athena::getMessageSvcQuiet
std::atomic< bool > getMessageSvcQuiet
Set this to force off the warning messages from getMessageSvc (in unit tests, for example).
Definition
getMessageSvc.cxx:18
Athena::setOutputLevel
void setOutputLevel(IMessageSvc *ims, const std::string &source, int level)
Definition
getMessageSvc.cxx:65
type
Generated on
for ATLAS Offline Software by
1.17.0