CMS 3D CMS Logo

edmplugin::SharedLibrary Class Reference

#include <FWCore/PluginManager/interface/SharedLibrary.h>

List of all members.

Public Member Functions

const boost::filesystem::path & path () const
 SharedLibrary (const boost::filesystem::path &iName)
bool symbol (const std::string &iSymbolName, void *&iSymbol) const
 ~SharedLibrary ()

Private Member Functions

const SharedLibraryoperator= (const SharedLibrary &)
 SharedLibrary (const SharedLibrary &)

Private Attributes

ROOT::Reflex::SharedLibrary * library_
boost::filesystem::path path_


Detailed Description

Definition at line 34 of file SharedLibrary.h.


Constructor & Destructor Documentation

SharedLibrary::SharedLibrary ( const boost::filesystem::path &  iName  ) 

Definition at line 34 of file SharedLibrary.cc.

References Exception, and library_.

00034                                                                :
00035   library_(0),
00036   path_(iName)
00037 {
00038     std::auto_ptr<ROOT::Reflex::SharedLibrary> lib(new ROOT::Reflex::SharedLibrary(iName.native_file_string()));
00039     if( !lib->Load() ) {
00040       throw cms::Exception("PluginLibraryLoadError")<<"unable to load "<<iName.native_file_string()<<" because "<<lib->Error();
00041     }
00042     library_ = lib.release();
00043 }

SharedLibrary::~SharedLibrary (  ) 

Definition at line 50 of file SharedLibrary.cc.

00051 {
00052   delete library_;
00053 }

edmplugin::SharedLibrary::SharedLibrary ( const SharedLibrary  )  [private]


Member Function Documentation

const SharedLibrary& edmplugin::SharedLibrary::operator= ( const SharedLibrary  )  [private]

const boost::filesystem::path& edmplugin::SharedLibrary::path (  )  const [inline]

Definition at line 43 of file SharedLibrary.h.

References path_.

Referenced by edmplugin::PluginCapabilities::load(), edmplugin::PluginCapabilities::tryToFind(), edmplugin::PluginFactoryBase::tryToFindPMaker(), and edmplugin::PluginCapabilities::tryToLoad().

00043 { return path_;}

bool SharedLibrary::symbol ( const std::string &  iSymbolName,
void *&  iSymbol 
) const

Definition at line 75 of file SharedLibrary.cc.

Referenced by edmplugin::PluginCapabilities::tryToFind().

00076 {
00077   return library_->Symbol(iSymbolName,iSymbol);
00078 }


Member Data Documentation

ROOT::Reflex::SharedLibrary* edmplugin::SharedLibrary::library_ [mutable, private]

Definition at line 55 of file SharedLibrary.h.

Referenced by SharedLibrary().

boost::filesystem::path edmplugin::SharedLibrary::path_ [private]

Definition at line 56 of file SharedLibrary.h.

Referenced by path().


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