pion-net  4.0.9
Public Member Functions | Protected Types | List of all members
pion::PionPluginPtr< InterfaceClassType > Class Template Reference

#include <PionPlugin.hpp>

Inherits pion::PionPlugin.

Public Member Functions

 PionPluginPtr (void)
 default constructor & destructor
 
 PionPluginPtr (const PionPluginPtr &p)
 copy constructor
 
PionPluginPtroperator= (const PionPluginPtr &p)
 assignment operator
 
InterfaceClassType * create (void)
 creates a new instance of the plug-in object
 
void destroy (InterfaceClassType *object_ptr)
 destroys an instance of the plug-in object
 
- Public Member Functions inherited from pion::PionPlugin
bool is_open (void) const
 returns true if a shared library is loaded/open
 
std::string getPluginName (void) const
 returns the name of the plugin that is currently open
 
void open (const std::string &plugin_name)
 
void openFile (const std::string &plugin_file)
 
void openStaticLinked (const std::string &plugin_name, void *create_func, void *destroy_func)
 
void close (void)
 closes plug-in library
 

Protected Types

typedef InterfaceClassType * CreateObjectFunction (void)
 data type for a function that is used to create object instances
 
typedef void DestroyObjectFunction (InterfaceClassType *)
 data type for a function that is used to destroy object instances
 

Additional Inherited Members

- Static Public Member Functions inherited from pion::PionPlugin
static bool findPluginFile (std::string &path_to_file, const std::string &name)
 
static bool findConfigFile (std::string &path_to_file, const std::string &name)
 
static bool findStaticEntryPoint (const std::string &plugin_name, void **create_func, void **destroy_func)
 
static void addStaticEntryPoint (const std::string &plugin_name, void *create_func, void *destroy_func)
 
static void checkCygwinPath (boost::filesystem::path &final_path, const std::string &path_string)
 
static void addPluginDirectory (const std::string &dir)
 appends a directory to the plug-in search path
 
static void resetPluginDirectories (void)
 clears all directories from the plug-in search path
 
static void getAllPluginNames (std::vector< std::string > &plugin_names)
 returns a list of all Plugins found in all Plugin directories
 
- Protected Member Functions inherited from pion::PionPlugin
 PionPlugin (void)
 default constructor is private (use PionPluginPtr class to create objects)
 
 PionPlugin (const PionPlugin &p)
 copy constructor
 
PionPluginoperator= (const PionPlugin &p)
 assignment operator
 
void * getCreateFunction (void)
 returns a pointer to the plug-in's "create object" function
 
void * getDestroyFunction (void)
 returns a pointer to the plug-in's "destroy object" function
 
void releaseData (void)
 releases the plug-in's shared library symbols
 
void grabData (const PionPlugin &p)
 grabs a reference to another plug-in's shared library symbols
 

Detailed Description

template<typename InterfaceClassType>
class pion::PionPluginPtr< InterfaceClassType >

PionPluginPtr: smart pointer that manages plug-in code loaded from shared object libraries

Definition at line 364 of file PionPlugin.hpp.


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