Loading [MathJax]/jax/output/HTML-CSS/config.js
The Gaudi Framework  v28r2p1 (f1a77ff4)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ObjectFactory.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_DATAOBJECTFACTORY_H
2 #define GAUDIKERNEL_DATAOBJECTFACTORY_H
3 
4 #include <Gaudi/PluginService.h>
5 
6 class IInterface;
7 class DataObject;
9 
12 
15 
16 // Macros to declare component factories
17 #define DECLARE_OBJECT_FACTORY(x) DECLARE_FACTORY(x, ObjFactory)
18 #define DECLARE_NAMESPACE_OBJECT_FACTORY(n,x) using n::x; DECLARE_FACTORY(x, ObjFactory)
19 
20 #define DECLARE_CONTAINEDOBJECT_FACTORY( x ) DECLARE_FACTORY_WITH_ID(x, x::classID(), ContainedObjFactory)
21 #define DECLARE_DATAOBJECT_FACTORY( x ) DECLARE_FACTORY_WITH_ID(x, x::classID(), DataObjFactory)
22 
23 #endif // GAUDIKERNEL_OBJECTFactory_H
Gaudi::PluginService::Factory< ContainedObject * > ContainedObjFactory
Definition: ObjectFactory.h:14
Definition of the basic interface.
Definition: IInterface.h:234
All classes that their objects may be contained in an LHCb ObjectContainer (e.g.
Class wrapping the signature for a factory with any number of arguments.
Definition: PluginService.h:47
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
Gaudi::PluginService::Factory< IInterface *, IInterface * > ObjFactory
Definition: ObjectFactory.h:8
Gaudi::PluginService::Factory< DataObject * > DataObjFactory
Definition: ObjectFactory.h:13