| The Gaudi Framework v32r1 (f65d50dc)

Public Member Functions | Private Attributes | List of all members
IToolSvc::Observer Class Reference

allow call-backs when a tool is a created or retrieved More...

`#include <GaudiKernel/IToolSvc.h>`

Collaboration diagram for IToolSvc::Observer:
[legend]

## Public Member Functions
virtual | ~Observer ()
void | setUnregister (std::function< void()> unregister)
virtual void | onCreate (const IAlgTool *)
virtual void | onRetrieve (const IAlgTool *)

## Private Attributes
std::function< void()> | m_unregister

## Detailed Description

allow call-backs when a tool is a created or retrieved

class myObserver : public ITooSvc::Observer {
void onCreate(IAlgTool& tool) {
cout << "tool " << tool.name() << " created " << endl;
}
void onRetrieve(IAlgTool& tool) {
cout << "someone requested " << tool.name() <<endl;
}
}
myObserver *observer = new myObserver;
IToolSvc* svc = ...
svc->registerObserver(observer);

IToolSvc implementations will call 'Observer::onCreate' when a tool is created, and 'Observer::onRetrieve' if a tool is retrieved.

The user is responsible of the life time of the object and must un-register it before it is deleted (e.g. during the finalization).

Definition at line 221 of file IToolSvc.h.

## Constructor & Destructor Documentation

## ◆ ~Observer()

virtual IToolSvc::Observer::~Observer | ( |  | ) |
| inline virtual

Definition at line 223 of file IToolSvc.h.

223 {
224 if ( m_unregister ) m_unregister();
225 }
IToolSvc::Observer::m_unregister
std::function< void()> m_unregister
Definition: IToolSvc.h:232

## Member Function Documentation

## ◆ onCreate()

virtual void IToolSvc::Observer::onCreate | ( | const IAlgTool * |  | ) |
| inline virtual

Definition at line 228 of file IToolSvc.h.

228 {}

## ◆ onRetrieve()

virtual void IToolSvc::Observer::onRetrieve | ( | const IAlgTool * |  | ) |
| inline virtual

Definition at line 229 of file IToolSvc.h.

229 {}

## ◆ setUnregister()

void IToolSvc::Observer::setUnregister | ( | std::function< void()> | unregister | ) |
| inline

Definition at line 226 of file IToolSvc.h.

226 { m_unregister = std::move( unregister ); }
IToolSvc::Observer::m_unregister
std::function< void()> m_unregister
Definition: IToolSvc.h:232
std::move
T move(T... args)

## Member Data Documentation

## ◆ m_unregister

std::function<void()> IToolSvc::Observer::m_unregister
| private

Definition at line 232 of file IToolSvc.h.

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

- GaudiKernel/GaudiKernel/IToolSvc.h