CMS 3D CMS Logo

PrintLoadingPlugins Class Reference

Description: <one line="" class="" summary>="">. More...

#include <FWCore/Services/interface/PrintLoadingPlugins.h>

List of all members.

Public Member Functions

void askedToLoad (const std::string &, const std::string &)
void goingToLoad (const boost::filesystem::path &)
 PrintLoadingPlugins ()
virtual ~PrintLoadingPlugins ()

Private Member Functions

const PrintLoadingPluginsoperator= (const PrintLoadingPlugins &)
 PrintLoadingPlugins (const PrintLoadingPlugins &)


Detailed Description

Description: <one line="" class="" summary>="">.

Usage: <usage>

Definition at line 32 of file PrintLoadingPlugins.h.


Constructor & Destructor Documentation

PrintLoadingPlugins::PrintLoadingPlugins (  ) 

Definition at line 44 of file PrintLoadingPlugins.cc.

References askedToLoad(), edmplugin::PluginManager::askedToLoadCategoryWithPlugin_, DBSPlugin::get(), goingToLoad(), and edmplugin::PluginManager::goingToLoad_.

00045 {   
00046    PluginManager *pm = PluginManager::get();
00047 
00048    pm->askedToLoadCategoryWithPlugin_.connect(boost::bind(boost::mem_fn(&PrintLoadingPlugins::askedToLoad),this, _1,_2));
00049    
00050    pm->goingToLoad_.connect(boost::bind(boost::mem_fn(&PrintLoadingPlugins::goingToLoad),this, _1));
00051 
00052    
00053   
00054 }

PrintLoadingPlugins::~PrintLoadingPlugins (  )  [virtual]

Definition at line 61 of file PrintLoadingPlugins.cc.

00062 {
00063 }

PrintLoadingPlugins::PrintLoadingPlugins ( const PrintLoadingPlugins  )  [private]


Member Function Documentation

void PrintLoadingPlugins::askedToLoad ( const std::string &  iCategory,
const std::string &  iPlugin 
)

Definition at line 90 of file PrintLoadingPlugins.cc.

References category, edmplugin::PluginManager::categoryToInfos(), lat::endl(), DBSPlugin::get(), i, edmplugin::PluginInfo::name_, path(), and range.

Referenced by PrintLoadingPlugins().

00092 { 
00093    PluginManager *pm = PluginManager::get();
00094 
00095    const PluginManager::CategoryToInfos& category = pm->categoryToInfos();
00096 
00097    PluginManager::CategoryToInfos::const_iterator itFound = category.find(iCategory);
00098 
00099    std::string libname("Not found");
00100    
00101    if(itFound != category.end()) {
00102       
00103       PluginInfo i;
00104       
00105       i.name_ = iPlugin;
00106       
00107       typedef std::vector<PluginInfo>::const_iterator PIItr;
00108       
00109       std::pair<PIItr,PIItr> range = std::equal_range(itFound->second.begin(),itFound->second.end(),i,PICompare());
00110       
00111       if(range.second - range.first > 1){
00112          
00113          const boost::filesystem::path& loadable = range.first->loadable_;
00114          
00115          libname = loadable.native_file_string();
00116          
00117       }
00118       
00119       edm::LogAbsolute("GetPlugin")<<"Getting> '"<<iCategory<< "' "<<iPlugin 
00120                                    <<"\n         from "<<libname <<std::endl;
00121    }
00122    
00123 }

void PrintLoadingPlugins::goingToLoad ( const boost::filesystem::path &  Loadable_  ) 

Definition at line 125 of file PrintLoadingPlugins.cc.

References lat::endl().

Referenced by PrintLoadingPlugins().

00127 {
00128   edm::LogAbsolute("LoadLib")<<"Loading> "<<Loadable_.native_file_string()<< std::endl;
00129 }

const PrintLoadingPlugins& PrintLoadingPlugins::operator= ( const PrintLoadingPlugins  )  [private]


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:30:18 2009 for CMSSW by  doxygen 1.5.4