| The Gaudi Framework v27r1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

Service.cpp
Go to the documentation of this file.
1 // Include Files
2 #include "GaudiKernel/Service.h"
3 #include "GaudiKernel/PropertyMgr.h"
4 #include "GaudiKernel/IMessageSvc.h"
5 #include "GaudiKernel/MsgStream.h"
6 #include "GaudiKernel/ISvcLocator.h"
7 #include "GaudiKernel/ISvcManager.h"
8 #include "GaudiKernel/IAuditorSvc.h"
9 #include "GaudiKernel/IJobOptionsSvc.h"
10 #include "GaudiKernel/GaudiException.h"
11 #include "GaudiKernel/ServiceLocatorHelper.h"
12 #include "GaudiKernel/ThreadGaudi.h"
13 #include "GaudiKernel/Guards.h"
14
15 using std::string;
16
17 #define ON_DEBUG if (msgLevel(MSG::DEBUG))
18 #define ON_VERBOSE if (msgLevel(MSG::VERBOSE))
19
20
21 Service::~Service() {
22 if (m_svcManager) m_svcManager->removeService(this).ignore();
23 }
24
25 // IService::sysInitialize
26 StatusCode Service::sysInitialize() {
27 std::call_once( m_initFlag, &Service::sysInitialize_imp, this );
28 return m_initSC;
29 }
30
31 void Service::sysInitialize_imp() {
32
33 try {
34 m_targetState = Gaudi::StateMachine::INITIALIZED;
35 Gaudi::Guards::AuditorGuard guard(this,
36 // check if we want to audit the initialize
37 (m_auditorInitialize) ? auditorSvc().get() : nullptr,
38 IAuditor::Initialize);
39 if ((name() != "MessageSvc") && msgSvc()) // pre-set the outputLevel from the MessageSvc value
40 m_outputLevel = msgSvc()->outputLevel(name());
41 m_initSC = initialize(); // This should change the state to Gaudi::StateMachine::CONFIGURED
42 if (m_initSC.isSuccess())
43 m_state = m_targetState;
44 return;
45 }
46 catch ( const GaudiException& Exception ) {
47 fatal() << "in sysInitialize(): exception with tag=" << Exception.tag()
48 << " is caught" << endmsg;
49 error() << Exception << endmsg;
50 // Stat stat( chronoSvc() , Exception.tag() );
51 }
52 catch( const std::exception& Exception ) {
53 fatal() << "in sysInitialize(): standard std::exception is caught" << endmsg;
54 error() << Exception.what() << endmsg;
55 // Stat stat( chronoSvc() , "*std::exception*" );
56 }
57 catch(...) {
58 fatal() << "in sysInitialize(): UNKNOWN Exception is caught" << endmsg;
59 // Stat stat( chronoSvc() , "*UNKNOWN Exception*" ) ;
60 }
61
62 m_initSC = StatusCode::FAILURE;
63
64 }
65
66
67 //--- IService::initialize
68 StatusCode Service::initialize() {
69 // Set the Algorithm's properties
70 StatusCode sc = setProperties();
71 ON_DEBUG debug() << "Service base class initialized successfully" << endmsg;
72 m_state = Gaudi::StateMachine::ChangeState(Gaudi::StateMachine::CONFIGURE,m_state);
73 return sc ;
74 }
75
76 // IService::sysStart
77 StatusCode Service::sysStart() {
78 StatusCode sc;
79
80 try {
81 m_targetState = Gaudi::StateMachine::ChangeState(Gaudi::StateMachine::START,m_state);
82 Gaudi::Guards::AuditorGuard guard(this,
83 // check if we want to audit the initialize
84 (m_auditorStart) ? auditorSvc().get() : nullptr,
85 IAuditor::Start);
86 sc = start();
87 if (sc.isSuccess())
88 m_state = m_targetState;
89 return sc;
90 }
91 catch ( const GaudiException& Exception ) {
92 fatal() << "in sysStart(): exception with tag=" << Exception.tag()
93 << " is caught" << endmsg;
94 error() << Exception << endmsg;
95 // Stat stat( chronoSvc() , Exception.tag() );
96 }
97 catch( const std::exception& Exception ) {
98 fatal() << "in sysStart(): standard std::exception is caught" << endmsg;
99 fatal() << Exception.what() << endmsg;
100 // Stat stat( chronoSvc() , "*std::exception*" );
101 }
102 catch(...) {
103 fatal() << "in sysStart(): UNKNOWN Exception is caught" << endmsg;
104 // Stat stat( chronoSvc() , "*UNKNOWN Exception*" ) ;
105 }
106
107 return StatusCode::FAILURE;
108 }
109
110 // IService::sysStop
111 StatusCode Service::sysStop() {
112 StatusCode sc;
113
114 try {
115 m_targetState = Gaudi::StateMachine::ChangeState(Gaudi::StateMachine::STOP,m_state);
116 Gaudi::Guards::AuditorGuard guard(this,
117 // check if we want to audit the initialize
118 (m_auditorStop) ? auditorSvc().get() : nullptr,
119 IAuditor::Stop);
120 sc = stop();
121 if (sc.isSuccess())
122 m_state = m_targetState;
123 return sc;
124 }
125 catch ( const GaudiException& Exception ) {
126 fatal() << "in sysStop(): exception with tag=" << Exception.tag()
127 << " is caught" << endmsg;
128 error() << Exception << endmsg;
129 // Stat stat( chronoSvc() , Exception.tag() );
130 }
131 catch( const std::exception& Exception ) {
132 fatal() << "in sysStop(): standard std::exception is caught" << endmsg;
133 error() << Exception.what() << endmsg;
134 // Stat stat( chronoSvc() , "*std::exception*" );
135 }
136 catch(...) {
137 fatal() << "in sysStop(): UNKNOWN Exception is caught" << endmsg;
138 // Stat stat( chronoSvc() , "*UNKNOWN Exception*" ) ;
139 }
140
141 return StatusCode::FAILURE;
142 }
143
144
145 //--- IService::stop
146 StatusCode Service::stop() {
147 // stub implementation
148 return StatusCode::SUCCESS;
149 }
150
151 //--- IService::start
152 StatusCode Service::start() {
153 // stub implementation
154 return StatusCode::SUCCESS;
155 }
156
157 //--- IService::sysFinalize
158 StatusCode Service::sysFinalize() {
159
160 StatusCode sc(StatusCode::FAILURE);
161
162 try {
163 m_targetState = Gaudi::StateMachine::OFFLINE;
164 Gaudi::Guards::AuditorGuard guard(this,
165 // check if we want to audit the initialize
166 (m_auditorFinalize) ? auditorSvc().get() : nullptr,
167 IAuditor::Finalize);
168 sc = finalize();
169 if (sc.isSuccess())
170 m_state = m_targetState;
171 }
172 catch( const GaudiException& Exception ) {
173 fatal() << " Exception with tag=" << Exception.tag()
174 << " is caught " << endmsg;
175 error() << Exception << endmsg;
176 // Stat stat( chronoSvc() , Exception.tag() ) ;
177 }
178 catch( const std::exception& Exception ) {
179 fatal() << " Standard std::exception is caught " << endmsg;
180 error() << Exception.what() << endmsg;
181 // Stat stat( chronoSvc() , "*std::exception*" ) ;
182 }
183 catch( ... ) {
184 fatal() << "UNKNOWN Exception is caught " << endmsg;
185 // Stat stat( chronoSvc() , "*UNKNOWN Exception*" ) ;
186 }
187
188 m_pAuditorSvc = nullptr;
189 return sc;
190 }
191
192 //--- IService::finalize
193 StatusCode Service::finalize() {
194 //m_state = Gaudi::StateMachine::ChangeState(Gaudi::StateMachine::TERMINATE,m_state);
195 return StatusCode::SUCCESS;
196 }
197
198 //--- IService::sysReinitialize
199 StatusCode Service::sysReinitialize() {
200
201 StatusCode sc;
202
203 // Check that the current status is the correct one.
204 if ( Gaudi::StateMachine::INITIALIZED != FSMState() ) {
205 error()
206 << "sysReinitialize(): cannot reinitialize service not initialized"
207 << endmsg;
208 return StatusCode::FAILURE;
209 }
210
211 try {
212
213 Gaudi::Guards::AuditorGuard guard(this,
214 // check if we want to audit the initialize
215 (m_auditorReinitialize) ? auditorSvc().get() : nullptr,
216 IAuditor::ReInitialize);
217 sc = reinitialize();
218 return sc;
219 }
220 catch( const GaudiException& Exception ) {
221 fatal() << " Exception with tag=" << Exception.tag()
222 << " is caught " << endmsg;
223 error() << Exception << endmsg;
224 // Stat stat( chronoSvc() , Exception.tag() ) ;
225 }
226 catch( const std::exception& Exception ) {
227 fatal() << " Standard std::exception is caught " << endmsg;
228 error() << Exception.what() << endmsg;
229 // Stat stat( chronoSvc() , "*std::exception*" ) ;
230 }
231 catch( ... ) {
232 fatal() << "UNKNOWN Exception is caught " << endmsg;
233 // Stat stat( chronoSvc() , "*UNKNOWN Exception*" ) ;
234 }
235 return StatusCode::FAILURE ;
236
237 }
238
239 //--- IService::sysRestart
240 StatusCode Service::sysRestart() {
241
242 StatusCode sc;
243
244 // Check that the current status is the correct one.
245 if ( Gaudi::StateMachine::RUNNING != FSMState() ) {
246 error()
247 << "sysRestart(): cannot restart service in state " << FSMState()
248 << " -- must be RUNNING "
249 << endmsg;
250 return StatusCode::FAILURE;
251 }
252
253 try {
254
255 Gaudi::Guards::AuditorGuard guard(this,
256 // check if we want to audit the initialize
257 (m_auditorRestart) ? auditorSvc().get() : nullptr,
258 IAuditor::ReStart);
259 sc = restart();
260 return sc;
261 }
262 catch( const GaudiException& Exception ) {
263 fatal() << " Exception with tag=" << Exception.tag()
264 << " is caught " << endmsg;
265 error() << Exception << endmsg;
266 // Stat stat( chronoSvc() , Exception.tag() ) ;
267 }
268 catch( const std::exception& Exception ) {
269 fatal() << " Standard std::exception is caught " << endmsg;
270 error() << Exception.what() << endmsg;
271 // Stat stat( chronoSvc() , "*std::exception*" ) ;
272 }
273 catch( ... ) {
274 fatal() << "UNKNOWN Exception is caught " << endmsg;
275 // Stat stat( chronoSvc() , "*UNKNOWN Exception*" ) ;
276 }
277 return StatusCode::FAILURE ;
278
279 }
280
281 //--- IService::reinitialize
282 StatusCode Service::reinitialize() {
283 /* @TODO
284 * MCl 2008-10-23: the implementation of reinitialize as finalize+initialize
285 * is causing too many problems
286 *
287 // Default implementation is finalize+initialize
288 StatusCode sc = finalize();
289 if (sc.isFailure()) {
290 error() << "reinitialize(): cannot be finalized" << endmsg;
291 return sc;
292 }
293 sc = initialize();
294 if (sc.isFailure()) {
295 error() << "reinitialize(): cannot be initialized" << endmsg;
296 return sc;
297 }
298 */
299 return StatusCode::SUCCESS;
300 }
301
302 //--- IService::restart
303 StatusCode Service::restart() {
304 // Default implementation is stop+start
305 StatusCode sc = stop();
306 if (sc.isFailure()) {
307 error() << "restart(): cannot be stopped" << endmsg;
308 return sc;
309 }
310 sc = start();
311 if (sc.isFailure()) {
312 error() << "restart(): cannot be started" << endmsg;
313 return sc;
314 }
315 return StatusCode::SUCCESS;
316 }
317
318 //--- IService::getServiceName
319 const std::string& Service::name() const {
320 return m_name;
321 }
322
323 //--- Retrieve pointer to service locator
324 SmartIF<ISvcLocator>& Service::serviceLocator() const {
325 return m_svcLocator;
326 }
327
328 // IProperty implementation
329 // Delegate to the Property manager
330 StatusCode Service::setProperty(const Property& p) {
331 return m_propertyMgr->setProperty(p);
332 }
333
334 StatusCode Service::setProperty(const std::string& s) {
335 return m_propertyMgr->setProperty(s);
336 }
337
338 StatusCode Service::setProperty(const std::string& n, const std::string& v) {
339 return m_propertyMgr->setProperty(n,v);
340 }
341
342 StatusCode Service::getProperty(Property* p) const {
343 return m_propertyMgr->getProperty(p);
344 }
345
346 const Property& Service::getProperty(const std::string& n) const {
347 return m_propertyMgr->getProperty(n);
348 }
349
350 StatusCode Service::getProperty(const std::string& n, std::string& v ) const {
351 return m_propertyMgr->getProperty(n,v);
352 }
353
354 const std::vector<Property*>& Service::getProperties() const {
355 return m_propertyMgr->getProperties();
356 }
357
358 bool Service::hasProperty(const std::string& name) const {
359 return m_propertyMgr->hasProperty(name);
360 }
361
362 // Use the job options service to set declared properties
363 StatusCode Service::setProperties() {
364 const bool CREATEIF(true);
365 auto jos = serviceLocator()->service<IJobOptionsSvc>("JobOptionsSvc", CREATEIF);
366 if( !jos ) {
367 throw GaudiException("Service [JobOptionsSvc] not found", name(), StatusCode::FAILURE);
368 }
369 // set first generic Properties
370 StatusCode sc = jos->setMyProperties( getGaudiThreadGenericName(name()), this );
371 if( sc.isFailure() ) return sc;
372
373 // set specific Properties
374 if (isGaudiThreaded(name())) {
375 if (jos->setMyProperties( name(), this ).isFailure()) {
376 return StatusCode::FAILURE;
377 }
378 }
379 if (name() != "MessageSvc") updateMsgStreamOutputLevel( m_outputLevel );
380 return StatusCode::SUCCESS;
381 }
382
383
384 //--- Local methods
385 // Standard Constructor
386 Service::Service(std::string name, ISvcLocator* svcloc) :
387 m_name( std::move(name) ),
388 m_svcLocator( svcloc ),
389 m_propertyMgr( new PropertyMgr() )
390 {
391 // Declare common Service properties with their defaults
392 if ( (name != "MessageSvc") && msgSvc() ) {
393 // In genconf a service is instantiated without the ApplicationMgr
394 m_outputLevel = msgSvc()->outputLevel();
395 }
396 declareProperty("OutputLevel", m_outputLevel);
397 m_outputLevel.declareUpdateHandler(&Service::initOutputLevel, this);
398
399 // Get the default setting for service auditing from the AppMgr
400 declareProperty("AuditServices", m_auditInit = true);
401
402 bool audit(false);
403 auto appMgr = serviceLocator()->service<IProperty>("ApplicationMgr");
404 if (appMgr) {
405 const Property& prop = appMgr->getProperty("AuditServices");
406 if (m_name != "IncidentSvc") {
407 setProperty(prop).ignore();
408 audit = m_auditInit.value();
409 } else {
410 audit = false;
411 }
412 }
413
414 declareProperty( "AuditInitialize" , m_auditorInitialize = audit );
415 declareProperty( "AuditStart" , m_auditorStart = audit );
416 declareProperty( "AuditStop" , m_auditorStop = audit );
417 declareProperty( "AuditFinalize" , m_auditorFinalize = audit );
418 declareProperty( "AuditReInitialize" , m_auditorReinitialize = audit );
419 declareProperty( "AuditReStart" , m_auditorRestart = audit );
420 }
421
422 // Callback to set output level
423 void Service::initOutputLevel(Property& /*prop*/) {
424 if ( name() != "MessageSvc") updateMsgStreamOutputLevel(m_outputLevel);
425 }
426
427
428 SmartIF<IAuditorSvc>& Service::auditorSvc() const {
429 if ( !m_pAuditorSvc ) {
430 m_pAuditorSvc = serviceLocator()->service("AuditorSvc");
431 if( !m_pAuditorSvc ) {
432 throw GaudiException("Service [AuditorSvc] not found", name(), StatusCode::FAILURE);
433 }
434 }
435 return m_pAuditorSvc;
436 }
437
438 void
439 Service::setServiceManager(ISvcManager *ism) {
440 m_svcManager = ism;
441 }
IAuditor::Start
Definition: IAuditor.h:31
Service::m_auditInit
BooleanProperty m_auditInit
Definition: Service.h:336
Service::m_targetState
Gaudi::StateMachine::State m_targetState
Service state.
Definition: Service.h:313
Service::initialize
StatusCode initialize() override
Definition: Service.cpp:68
Service::m_outputLevel
IntegerProperty m_outputLevel
Service output level.
Definition: Service.h:309
Gaudi::StateMachine::INITIALIZED
Definition: StateMachine.h:15
SmartIF< ISvcLocator >
Service::serviceLocator
SmartIF< ISvcLocator > & serviceLocator() const override
Retrieve pointer to service locator.
Definition: Service.cpp:324
GaudiException
Define general base for Gaudi exception.
Definition: GaudiException.h:23
ISvcLocator
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:25
Service::m_auditorInitialize
bool m_auditorInitialize
Definition: Service.h:337
Service::m_state
Gaudi::StateMachine::State m_state
Service state.
Definition: Service.h:311
Service::m_pAuditorSvc
SmartIF< IAuditorSvc > m_pAuditorSvc
Auditor Service.
Definition: Service.h:335
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:28
Service::finalize
StatusCode finalize() override
Definition: Service.cpp:193
Service::FSMState
Gaudi::StateMachine::State FSMState() const override
Definition: Service.h:57
MsgStream.h
Service::sysInitialize_imp
void sysInitialize_imp()
Definition: Service.cpp:31
IAuditor::Stop
Definition: IAuditor.h:32
Property::declareUpdateHandler
virtual Property & declareUpdateHandler(std::function< void(Property &)> fun)
set new callback for update
Definition: Property.cpp:72
Service::auditorSvc
SmartIF< IAuditorSvc > & auditorSvc() const
The standard auditor service.May not be invoked before sysInitialize() has been invoked.
Definition: Service.cpp:428
PropertyMgr::setProperty
StatusCode setProperty(const Property &p) override
set the property form another property
Definition: PropertyMgr.cpp:105
Service::m_initSC
StatusCode m_initSC
Definition: Service.h:321
Service::start
StatusCode start() override
Definition: Service.cpp:152
ISvcManager
The ISvcManager is the interface implemented by the Service Factory in the Application Manager to sup...
Definition: ISvcManager.h:28
IAuditor::ReInitialize
Definition: IAuditor.h:26
IAuditorSvc.h
StatusCode::isSuccess
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
Service::sysRestart
StatusCode sysRestart() override
Re-initialize the Service.
Definition: Service.cpp:240
Service::sysStart
StatusCode sysStart() override
Initialize Service.
Definition: Service.cpp:77
Service::setProperty
StatusCode setProperty(const Property &p) override
Definition: Service.cpp:330
Service::m_svcLocator
SmartIF< ISvcLocator > m_svcLocator
Service Locator reference.
Definition: Service.h:327
std
STL namespace.
Service::m_name
std::string m_name
Service Name.
Definition: Service.h:325
merge_files.sc
int sc
Definition: merge_files.py:167
PropertyMgr
Property manager helper class.
Definition: PropertyMgr.h:37
std::call_once
T call_once(T...args)
StatusCode::isFailure
bool isFailure() const
Test for a status code of FAILURE.
Definition: StatusCode.h:86
ISvcManager.h
GaudiPluginService.cpluginsvc.n
list n
Definition: cpluginsvc.py:217
ThreadGaudi.h
isGaudiThreaded
GAUDI_API bool isGaudiThreaded(const std::string &name)
test if current Gaudi object is running /will run in a thread
Definition: ThreadGaudi.cpp:73
IAuditor::ReStart
Definition: IAuditor.h:33
Gaudi::StateMachine::CONFIGURE
Definition: StateMachine.h:24
std::string
STL class.
PropertyMgr::getProperty
StatusCode getProperty(Property *p) const override
get the property
Definition: PropertyMgr.cpp:144
Service.h
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:78
Service::name
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:319
Service::getProperties
const std::vector< Property * > & getProperties() const override
Definition: Service.cpp:354
CommonMessagingBase::error
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
Definition: CommonMessaging.h:118
IMessageSvc::outputLevel
virtual int outputLevel() const =0
Retrieve the current output level threshold.
Service::sysStop
StatusCode sysStop() override
Initialize Service.
Definition: Service.cpp:111
IJobOptionsSvc
Main interface for the JobOptions service.
Definition: IJobOptionsSvc.h:20
Service::m_propertyMgr
SmartIF< PropertyMgr > m_propertyMgr
Property Manager.
Definition: Service.h:330
StatusCode::FAILURE
Definition: StatusCode.h:29
std::exception::what
T what(T...args)
StatusCode::SUCCESS
Definition: StatusCode.h:30
CommonMessaging< implements< IService, IProperty, IStateful > >::updateMsgStreamOutputLevel
void updateMsgStreamOutputLevel(int level)
Update the output level of the cached MsgStream.
Definition: CommonMessaging.h:187
Service::~Service
~Service() override
Standard Destructor.
Definition: Service.cpp:21
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
GaudiException.h
IAuditor::Finalize
Definition: IAuditor.h:30
PropertyMgr::getProperties
const std::vector< Property * > & getProperties() const override
get all properties
Definition: PropertyMgr.cpp:186
Guards.h
GaudiException::tag
virtual const std::string & tag() const
name tag for the exception, or exception type
Definition: GaudiException.h:119
Service::m_auditorFinalize
bool m_auditorFinalize
Definition: Service.h:340
IMessageSvc.h
Service::reinitialize
StatusCode reinitialize() override
Definition: Service.cpp:282
Service::m_auditorReinitialize
bool m_auditorReinitialize
Definition: Service.h:341
Service::stop
StatusCode stop() override
Definition: Service.cpp:146
Service::m_initFlag
std::once_flag m_initFlag
Definition: Service.h:322
std::exception
STL class.
Service::sysFinalize
StatusCode sysFinalize() override
Finalize Service.
Definition: Service.cpp:158
IAuditor::Initialize
Definition: IAuditor.h:25
PropertyWithValue::value
const TYPE & value() const
explicit conversion
Definition: Property.h:341
Service::setProperties
StatusCode setProperties()
Method for setting declared properties to the values specified for the job.
Definition: Service.cpp:363
Gaudi::StateMachine::STOP
Definition: StateMachine.h:27
ON_DEBUG
#define ON_DEBUG
Definition: Service.cpp:17
Gaudi::StateMachine::RUNNING
Definition: StateMachine.h:16
Property
Property base class allowing Property* collections to be "homogeneous".
Definition: Property.h:38
std::vector< Property * >
Service::sysReinitialize
StatusCode sysReinitialize() override
Re-initialize the Service.
Definition: Service.cpp:199
Gaudi::StateMachine::ChangeState
State GAUDI_API ChangeState(const Transition transition, const State state)
Function to get the new state according to the required transition, checking if the transition is all...
Definition: StateMachine.cpp:8
Service::m_auditorStart
bool m_auditorStart
Definition: Service.h:338
CommonMessagingBase::debug
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
Definition: CommonMessaging.h:127
Service::hasProperty
bool hasProperty(const std::string &name) const override
Definition: Service.cpp:358
Service::getProperty
StatusCode getProperty(Property *p) const override
Definition: Service.cpp:342
Service::initOutputLevel
void initOutputLevel(Property &prop)
callback for output level property
Definition: Service.cpp:423
PropertyMgr.h
gaudirun.s
string s
Definition: gaudirun.py:245
Service::Service
Service(std::string name, ISvcLocator *svcloc)
Standard Constructor.
Definition: Service.cpp:386
PropertyMgr::hasProperty
bool hasProperty(const std::string &name) const override
Return true if we have a property with the given name.
Definition: PropertyMgr.cpp:201
Gaudi::StateMachine::START
Definition: StateMachine.h:26
CommonMessagingBase::msgSvc
SmartIF< IMessageSvc > & msgSvc() const
The standard message service.
Definition: CommonMessaging.h:73
ServiceLocatorHelper.h
IOTest.appMgr
tuple appMgr
Definition: IOTest.py:83
Service::m_svcManager
SmartIF< ISvcManager > m_svcManager
Definition: Service.h:328
CommonMessagingBase::fatal
MsgStream & fatal() const
shortcut for the method msgStream(MSG::FATAL)
Definition: CommonMessaging.h:112
StatusCode::ignore
void ignore() const
Definition: StatusCode.h:108
Service::declareProperty
Property * declareProperty(const std::string &name, T &property, const std::string &doc="none") const
Declare the named property.
Definition: Service.h:215
Service::setServiceManager
void setServiceManager(ISvcManager *ism) override
Definition: Service.cpp:439
IProperty
The IProperty is the basic interface for all components which have properties that can be set or get...
Definition: IProperty.h:21
Gaudi::Guards::AuditorGuard
It is a simple guard, which "locks" the scope for the Auditor Service is am exception-safe way...
Definition: Guards.h:214
Gaudi::StateMachine::OFFLINE
Definition: StateMachine.h:13
Service::restart
StatusCode restart() override
Definition: Service.cpp:303
ISvcManager::removeService
virtual StatusCode removeService(IService *svc)=0
Remove a service from the "active" list of services of the factory.
ISvcLocator.h
Service::m_auditorRestart
bool m_auditorRestart
Definition: Service.h:342
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
Service::m_auditorStop
bool m_auditorStop
Definition: Service.h:339
getGaudiThreadGenericName
GAUDI_API std::string getGaudiThreadGenericName(const std::string &name)
helper function to extract Gaudi instance name from thread copy name
Definition: ThreadGaudi.cpp:50
Service::sysInitialize
StatusCode sysInitialize() override
Initialize Service.
Definition: Service.cpp:26
IJobOptionsSvc.h