00001
00002 #ifndef GAUDIKERNEL_DATAOBJECTFACTORY_H
00003 #define GAUDIKERNEL_DATAOBJECTFACTORY_H
00004
00005 #include "Reflex/PluginService.h"
00006
00007 #define DECLARE_OBJECT_FACTORY(x) PLUGINSVC_FACTORY(x,IInterface*(IInterface*))
00008 #define DECLARE_NAMESPACE_OBJECT_FACTORY(n,x) using n::x; PLUGINSVC_FACTORY(x,IInterface*(IInterface*))
00009
00010 #define DECLARE_CONTAINEDOBJECT_FACTORY( x ) PLUGINSVC_FACTORY_WITH_ID(x,x::classID(),ContainedObject*(void))
00011 #define DECLARE_DATAOBJECT_FACTORY( x ) PLUGINSVC_FACTORY_WITH_ID(x,x::classID(),DataObject*(void))
00012
00013 #define DECLARE_OBJECT(x)
00014 #define DECLARE_DATAOBJECT(x)
00015 #define DECLARE_NAMESPACE_OBJECT(n,x)
00016 #define DECLARE_NAMESPACE_DATAOBJECT(n,x)
00017
00018 #endif // GAUDIKERNEL_OBJECTFactory_H