| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- 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
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;
8 class ContainedObject;
9
10 typedef Gaudi::PluginService::Factory1<IInterface*,
11 IInterface*> ObjFactory;
12
13 typedef Gaudi::PluginService::Factory0<DataObject*> DataObjFactory;
14 typedef Gaudi::PluginService::Factory0<ContainedObject*> ContainedObjFactory;
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