CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

edmplugin::SharedLibrary Class Reference

#include <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

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 Exception, and library_.

                                                               :
  library_(0),
  path_(iName)
{
    std::auto_ptr<Reflex::SharedLibrary> lib(new Reflex::SharedLibrary(iName.native_file_string()));
    if( !lib->Load() ) {
      throw cms::Exception("PluginLibraryLoadError")<<"unable to load "<<iName.native_file_string()<<" because "<<lib->Error();
    }
    library_ = lib.release();
}
SharedLibrary::~SharedLibrary ( )

Definition at line 50 of file SharedLibrary.cc.

References library_.

{
  delete library_;
}
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().

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

Member Data Documentation

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

Definition at line 52 of file SharedLibrary.h.

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

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

Definition at line 53 of file SharedLibrary.h.

Referenced by path().