TuttleOFX  1
tuttle::host::ofx::OfxhBinary Class Reference

class representing a DLL/Shared Object/etc More...

#include <OfxhBinary.hpp>

Public Types

typedef OfxhBinary This

Public Member Functions

 OfxhBinary ()
void init (const std::string &binaryPath)
 OfxhBinary (const std::string &binaryPath)
 ~OfxhBinary ()
bool operator== (const This &other) const
bool operator!= (const This &other) const
bool isLoaded () const
bool isInvalid () const
void setInvalid (bool invalid)
 set invalid status (e.g. called by user if a mandatory symbol was missing)
time_t getTime () const
 Last modification time of the file.
size_t getSize () const
 Current size of the file.
const std::string & getBinaryPath () const
 Path to the file.
void ref ()
void unref ()
void load ()
 open the binary.
void unload ()
 close the binary
void * findSymbol (const std::string &symbol)

Protected Attributes

std::string _binaryPath
bool _invalid
bool _exists
time_t _time
size_t _size
int _users

Private Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int version)

Friends

class boost::serialization::access

Detailed Description

class representing a DLL/Shared Object/etc

Definition at line 82 of file OfxhBinary.hpp.


Member Typedef Documentation

Definition at line 85 of file OfxhBinary.hpp.


Constructor & Destructor Documentation

tuttle::host::ofx::OfxhBinary::OfxhBinary ( )

Definition at line 37 of file OfxhBinary.cpp.

tuttle::host::ofx::OfxhBinary::OfxhBinary ( const std::string &  binaryPath)

create object representing the binary. will stat() it, and this fails, will set binary to be invalid.

Definition at line 47 of file OfxhBinary.cpp.

References init().

Here is the call graph for this function:

tuttle::host::ofx::OfxhBinary::~OfxhBinary ( ) [inline]

Definition at line 111 of file OfxhBinary.hpp.

References unload().

Here is the call graph for this function:


Member Function Documentation

void * tuttle::host::ofx::OfxhBinary::findSymbol ( const std::string &  symbol)

look up a symbol in the binary file and return it as a pointer. returns null pointer if not found, or if the library is not loaded.

look up a symbol in the binary file and return it as a pointer. returns null pointer if not found.

Definition at line 137 of file OfxhBinary.cpp.

References _binaryPath, _invalid, and tuttle::quotes().

Referenced by tuttle::host::ofx::OfxhPluginBinary::loadPluginInfo(), and tuttle::host::ofx::OfxhPluginLoadGuard::OfxhPluginLoadGuard().

Here is the call graph for this function:

const std::string& tuttle::host::ofx::OfxhBinary::getBinaryPath ( ) const [inline]

Path to the file.

Definition at line 142 of file OfxhBinary.hpp.

References _binaryPath.

Referenced by tuttle::host::ofx::OfxhPluginBinary::loadPluginInfo().

size_t tuttle::host::ofx::OfxhBinary::getSize ( ) const [inline]

Current size of the file.

Definition at line 139 of file OfxhBinary.hpp.

References _size.

Referenced by tuttle::host::ofx::OfxhPluginBinary::checkBinaryChanged(), and tuttle::host::ofx::OfxhPluginBinary::loadPluginInfo().

time_t tuttle::host::ofx::OfxhBinary::getTime ( ) const [inline]

Last modification time of the file.

Definition at line 136 of file OfxhBinary.hpp.

References _time.

Referenced by tuttle::host::ofx::OfxhPluginBinary::checkBinaryChanged(), and tuttle::host::ofx::OfxhPluginBinary::loadPluginInfo().

void tuttle::host::ofx::OfxhBinary::init ( const std::string &  binaryPath)

Definition at line 59 of file OfxhBinary.cpp.

References _binaryPath, _invalid, _size, and _time.

Referenced by OfxhBinary(), serialize(), and tuttle::host::ofx::OfxhPluginBinary::serialize().

bool tuttle::host::ofx::OfxhBinary::isInvalid ( ) const [inline]

is this binary invalid? (did the a stat() or load() on the file fail, or are we missing a some of the symbols?

Definition at line 130 of file OfxhBinary.hpp.

References _invalid.

bool tuttle::host::ofx::OfxhBinary::isLoaded ( ) const [inline]

Definition at line 126 of file OfxhBinary.hpp.

Referenced by tuttle::host::ofx::OfxhPluginBinary::isLoaded().

void tuttle::host::ofx::OfxhBinary::load ( )

open the binary.

Definition at line 77 of file OfxhBinary.cpp.

References _binaryPath, _invalid, and tuttle::quotes().

Referenced by tuttle::host::ofx::OfxhPluginBinary::loadPluginInfo(), and ref().

Here is the call graph for this function:

bool tuttle::host::ofx::OfxhBinary::operator!= ( const This other) const [inline]

Definition at line 124 of file OfxhBinary.hpp.

References operator==().

Here is the call graph for this function:

bool tuttle::host::ofx::OfxhBinary::operator== ( const This other) const [inline]

Definition at line 113 of file OfxhBinary.hpp.

References _binaryPath, _exists, _invalid, _size, and _time.

Referenced by operator!=().

void tuttle::host::ofx::OfxhBinary::ref ( )

Definition at line 153 of file OfxhBinary.cpp.

References _users, and load().

Referenced by tuttle::host::ofx::OfxhPluginLoadGuard::OfxhPluginLoadGuard().

Here is the call graph for this function:

template<class Archive >
void tuttle::host::ofx::OfxhBinary::serialize ( Archive &  ar,
const unsigned int  version 
) [inline, private]

Definition at line 160 of file OfxhBinary.hpp.

References _binaryPath, _exists, _invalid, _size, _time, _users, and init().

Here is the call graph for this function:

void tuttle::host::ofx::OfxhBinary::setInvalid ( bool  invalid) [inline]

set invalid status (e.g. called by user if a mandatory symbol was missing)

Definition at line 133 of file OfxhBinary.hpp.

References _invalid.

Referenced by tuttle::host::ofx::OfxhPluginBinary::loadPluginInfo().

void tuttle::host::ofx::OfxhBinary::unload ( )

close the binary

Definition at line 122 of file OfxhBinary.cpp.

Referenced by tuttle::host::ofx::OfxhPluginBinary::loadPluginInfo(), unref(), and ~OfxhBinary().

void tuttle::host::ofx::OfxhBinary::unref ( )

Definition at line 162 of file OfxhBinary.cpp.

References _users, and unload().

Referenced by tuttle::host::ofx::OfxhPluginLoadGuard::OfxhPluginLoadGuard(), and tuttle::host::ofx::OfxhPluginLoadGuard::~OfxhPluginLoadGuard().

Here is the call graph for this function:


Friends And Related Function Documentation

friend class boost::serialization::access [friend]

Definition at line 158 of file OfxhBinary.hpp.


Field Documentation

destruction will close the library and invalidate any function pointers returned by lookupSymbol()

Definition at line 90 of file OfxhBinary.hpp.

Referenced by findSymbol(), getBinaryPath(), init(), load(), operator==(), and serialize().

Definition at line 97 of file OfxhBinary.hpp.

Referenced by operator==(), and serialize().

Definition at line 99 of file OfxhBinary.hpp.

Referenced by getSize(), init(), operator==(), and serialize().

Definition at line 98 of file OfxhBinary.hpp.

Referenced by getTime(), init(), operator==(), and serialize().

Definition at line 100 of file OfxhBinary.hpp.

Referenced by ref(), serialize(), and unref().


The documentation for this class was generated from the following files: