Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes
rve_pluginloader::Plugin Class Reference

#include <plugin.h>

List of all members.

Classes

struct  AllocationInfo

Public Member Functions

template<typename T >
T * create (const std::string &base_class, const std::string &derived_class)
void * create (const std::string &base_class, const std::string &derived_class)
template<typename T >
boost::shared_ptr< T > createShared (const std::string &base_class, const std::string &derived_class)
boost::shared_ptr< void > createShared (const std::string &base_class, const std::string &derived_class)
void destroy (void *mem)
const V_ClassEntrygetClassEntries (const std::string &base_class) const
const ClassEntryPtrgetClassEntry (const std::string &base_class, const std::string &derived_class) const
YAML::Node & getDescription ()
const std::string & getDescriptionPath () const
PluginStatusSignalgetLoadedSignal ()
PluginStatusSignalgetLoadingSignal ()
const std::string & getName ()
const std::string & getPackageName () const
PluginStatusSignalgetUnloadedSignal ()
PluginStatusSignalgetUnloadingSignal ()
bool hasClass (const std::string &base_class, const std::string &derived_class) const
bool isLoaded ()
void load ()
void loadDescription (const std::string &description_path)
bool ownsAllocation (void *mem)
 Plugin ()
void unload ()
 ~Plugin ()

Private Types

typedef std::map< void
*, AllocationInfo
M_AllocationInfo

Private Member Functions

void unload (bool allow_throw)

Private Attributes

M_AllocationInfo allocations_
M_ClassEntry class_entries_
std::string description_path_
YAML::Node * doc_
rve_dynlib::Handle library_
std::string library_path_
bool loaded_
PluginStatusSignal loaded_signal_
PluginStatusSignal loading_signal_
std::string name_
std::string package_name_
std::string package_path_
PluginStatusSignal unloaded_signal_
PluginStatusSignal unloading_signal_

Detailed Description

Definition at line 120 of file plugin.h.


Member Typedef Documentation

typedef std::map<void*, AllocationInfo> rve_pluginloader::Plugin::M_AllocationInfo [private]

Definition at line 196 of file plugin.h.


Constructor & Destructor Documentation

Definition at line 48 of file plugin.cpp.

Definition at line 55 of file plugin.cpp.


Member Function Documentation

template<typename T >
void * rve_pluginloader::Plugin::create ( const std::string &  base_class,
const std::string &  derived_class 
) [inline]

Definition at line 148 of file plugin.h.

void* rve_pluginloader::Plugin::create ( const std::string &  base_class,
const std::string &  derived_class 
)
template<typename T >
boost::shared_ptr< void > rve_pluginloader::Plugin::createShared ( const std::string &  base_class,
const std::string &  derived_class 
) [inline]

Definition at line 157 of file plugin.h.

boost::shared_ptr<void> rve_pluginloader::Plugin::createShared ( const std::string &  base_class,
const std::string &  derived_class 
)
void rve_pluginloader::Plugin::destroy ( void *  mem)

Definition at line 298 of file plugin.cpp.

const V_ClassEntry * rve_pluginloader::Plugin::getClassEntries ( const std::string &  base_class) const

Definition at line 160 of file plugin.cpp.

const ClassEntryPtr & rve_pluginloader::Plugin::getClassEntry ( const std::string &  base_class,
const std::string &  derived_class 
) const

Definition at line 244 of file plugin.cpp.

YAML::Node& rve_pluginloader::Plugin::getDescription ( ) [inline]

Definition at line 140 of file plugin.h.

const std::string& rve_pluginloader::Plugin::getDescriptionPath ( ) const [inline]

Definition at line 132 of file plugin.h.

Definition at line 136 of file plugin.h.

Definition at line 135 of file plugin.h.

const std::string& rve_pluginloader::Plugin::getName ( ) [inline]

Definition at line 133 of file plugin.h.

const std::string& rve_pluginloader::Plugin::getPackageName ( ) const [inline]

Definition at line 131 of file plugin.h.

Definition at line 138 of file plugin.h.

Definition at line 137 of file plugin.h.

bool rve_pluginloader::Plugin::hasClass ( const std::string &  base_class,
const std::string &  derived_class 
) const

Definition at line 230 of file plugin.cpp.

Definition at line 225 of file plugin.cpp.

Definition at line 120 of file plugin.cpp.

void rve_pluginloader::Plugin::loadDescription ( const std::string &  description_path)

Definition at line 62 of file plugin.cpp.

Definition at line 305 of file plugin.cpp.

Definition at line 171 of file plugin.cpp.

void rve_pluginloader::Plugin::unload ( bool  allow_throw) [private]

Definition at line 176 of file plugin.cpp.


Member Data Documentation

Definition at line 197 of file plugin.h.

Definition at line 176 of file plugin.h.

Definition at line 170 of file plugin.h.

YAML::Node* rve_pluginloader::Plugin::doc_ [private]

Definition at line 187 of file plugin.h.

Definition at line 180 of file plugin.h.

Definition at line 173 of file plugin.h.

Definition at line 178 of file plugin.h.

Definition at line 183 of file plugin.h.

Definition at line 182 of file plugin.h.

std::string rve_pluginloader::Plugin::name_ [private]

Definition at line 174 of file plugin.h.

Definition at line 171 of file plugin.h.

Definition at line 172 of file plugin.h.

Definition at line 185 of file plugin.h.

Definition at line 184 of file plugin.h.


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


rve_pluginloader
Author(s): Josh Faust
autogenerated on Wed Dec 11 2013 14:31:46