CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
edmplugin::SharedLibrary Class Reference

#include <SharedLibrary.h>

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

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

Detailed Description

Definition at line 31 of file SharedLibrary.h.

Constructor & Destructor Documentation

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

Definition at line 34 of file SharedLibrary.cc.

References edm::hlt::Exception, and library_.

34  :
35  library_(0),
36  path_(iName)
37 {
38  std::auto_ptr<Reflex::SharedLibrary> lib(new Reflex::SharedLibrary(iName.string()));
39  if( !lib->Load() ) {
40  throw cms::Exception("PluginLibraryLoadError")<<"unable to load "<<iName.string()<<" because "<<lib->Error();
41  }
42  library_ = lib.release();
43 }
Reflex::SharedLibrary * library_
Definition: SharedLibrary.h:52
boost::filesystem::path path_
Definition: SharedLibrary.h:53
SharedLibrary::~SharedLibrary ( )

Definition at line 50 of file SharedLibrary.cc.

References library_.

51 {
52  delete library_;
53 }
Reflex::SharedLibrary * library_
Definition: SharedLibrary.h:52
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
bool SharedLibrary::symbol ( const std::string &  iSymbolName,
void *&  iSymbol 
) const

Definition at line 75 of file SharedLibrary.cc.

References library_.

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

76 {
77  return library_->Symbol(iSymbolName,iSymbol);
78 }
Reflex::SharedLibrary * library_
Definition: SharedLibrary.h:52

Member Data Documentation

Reflex::SharedLibrary* edmplugin::SharedLibrary::library_
mutableprivate

Definition at line 52 of file SharedLibrary.h.

Referenced by SharedLibrary(), symbol(), and ~SharedLibrary().

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