00001 // -*- C++ -*- 00002 // 00003 // Package: PluginManager 00004 // Class : PluginFactoryBase 00005 // 00006 // Implementation: 00007 // <Notes on implementation> 00008 // 00009 // Original Author: Chris Jones 00010 // Created: Wed Apr 4 13:09:50 EDT 2007 00011 // $Id: PluginFactoryBase.cc,v 1.4 2007/06/14 02:52:58 wmtan Exp $ 00012 // 00013 00014 // system include files 00015 00016 // user include files 00017 #include "FWCore/PluginManager/interface/PluginFactoryBase.h" 00018 #include "FWCore/PluginManager/interface/PluginFactoryManager.h" 00019 00020 namespace edmplugin { 00021 // 00022 // constants, enums and typedefs 00023 // 00024 00025 // 00026 // static data member definitions 00027 // 00028 00029 // 00030 // constructors and destructor 00031 // 00032 00033 // PluginFactoryBase::PluginFactoryBase(const PluginFactoryBase& rhs) 00034 // { 00035 // // do actual copying here; 00036 // } 00037 00038 PluginFactoryBase::~PluginFactoryBase() 00039 { 00040 } 00041 00042 // 00043 // assignment operators 00044 // 00045 // const PluginFactoryBase& PluginFactoryBase::operator=(const PluginFactoryBase& rhs) 00046 // { 00047 // //An exception safe implementation is 00048 // PluginFactoryBase temp(rhs); 00049 // swap(rhs); 00050 // 00051 // return *this; 00052 // } 00053 00054 // 00055 // member functions 00056 // 00057 void 00058 PluginFactoryBase::finishedConstruction() 00059 { 00060 PluginFactoryManager::get()->addFactory(this); 00061 } 00062 00063 void 00064 PluginFactoryBase::newPlugin(const std::string& iName) 00065 { 00066 PluginInfo info; 00067 info.loadable_=boost::filesystem::path(PluginManager::loadingFile(),boost::filesystem::no_check); 00068 info.name_=iName; 00069 newPluginAdded_(category(),info); 00070 } 00071 // 00072 // const member functions 00073 // 00074 00075 // 00076 // static member functions 00077 // 00078 }