Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:32

0001 #ifndef Fireworks_Core_FWProxyBuilderFactory_h
0002 #define Fireworks_Core_FWProxyBuilderFactory_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     Core
0006 // Class  :     FWProxyBuilderFactory
0007 //
0008 /**\class FWProxyBuilderFactory FWProxyBuilderFactory.h Fireworks/Core/interface/FWProxyBuilderFactory.h
0009 
0010    Description: <one line class summary>
0011 
0012    Usage:
0013     <usage>
0014 
0015  */
0016 //
0017 // Original Author:  Chris Jones
0018 //         Created:  Thu Jun  5 20:13:55 EDT 2008
0019 //
0020 
0021 // system include files
0022 
0023 // user include files
0024 #include "Fireworks/Core/interface/register_dataproxybuilder_macro.h"
0025 #include "FWCore/PluginManager/interface/PluginFactory.h"
0026 
0027 // forward declarations
0028 
0029 class FWProxyBuilderBase;
0030 
0031 typedef edmplugin::PluginFactory<FWProxyBuilderBase*()> FWProxyBuilderFactory;
0032 
0033 #define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)                                       \
0034   DEFINE_PROXYBUILDER_METHODS(_name_, _type_, _purpose_, _view_);                                        \
0035   DEFINE_EDM_PLUGIN(FWProxyBuilderFactory,                                                               \
0036                     _name_,                                                                              \
0037                     _name_::typeOfBuilder() + _name_::classRegisterTypeName() +                          \
0038                         (_name_::representsSubPart() ? "!" : "_") + "@" + _name_::classPurpose() + "@" + \
0039                         _name_::classView() + "#" #_name_)
0040 
0041 #endif