CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/Fireworks/Core/interface/FWProxyBuilderFactory.h

Go to the documentation of this file.
00001 #ifndef Fireworks_Core_FWProxyBuilderFactory_h
00002 #define Fireworks_Core_FWProxyBuilderFactory_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Core
00006 // Class  :     FWProxyBuilderFactory
00007 //
00016 //
00017 // Original Author:  Chris Jones
00018 //         Created:  Thu Jun  5 20:13:55 EDT 2008
00019 // $Id: FWProxyBuilderFactory.h,v 1.2 2010/06/02 22:40:33 chrjones Exp $
00020 //
00021 
00022 // system include files
00023 
00024 // user include files
00025 #include "Fireworks/Core/interface/register_dataproxybuilder_macro.h"
00026 #include "FWCore/PluginManager/interface/PluginFactory.h"
00027 
00028 // forward declarations
00029 
00030 class FWProxyBuilderBase;
00031 
00032 typedef edmplugin::PluginFactory<FWProxyBuilderBase*()> FWProxyBuilderFactory;
00033 
00034 #define REGISTER_FWPROXYBUILDER(_name_,_type_,_purpose_,_view_) \
00035    DEFINE_PROXYBUILDER_METHODS(_name_,_type_,_purpose_,_view_); \
00036    DEFINE_EDM_PLUGIN(FWProxyBuilderFactory,_name_,_name_::typeOfBuilder()+_name_::classRegisterTypeName()+(_name_::representsSubPart()?"!":"_")+"@"+_name_::classPurpose()+"@"+_name_::classView()+"#" # _name_)
00037 
00038 
00039 #endif