TuttleOFX  1
tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache Class Reference

implementation of the specific Image Effect handler API cache. More...

#include <OfxhImageEffectPluginCache.hpp>

Inheritance diagram for tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache:
Collaboration diagram for tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache:

Public Types

typedef OfxhImageEffectPluginCache This

Public Member Functions

 OfxhImageEffectPluginCache (OfxhImageEffectHost &host)
 ~OfxhImageEffectPluginCache ()
OfxhImageEffectPlugingetPluginById (const std::string &id, int vermaj=-1, int vermin=-1)
const OfxhImageEffectPlugingetPluginById (const std::string &id, int vermaj=-1, int vermin=-1) const
OfxhImageEffectPlugingetPluginByLabel (const std::string &label, int vermaj=-1, int vermin=-1)
const OfxhImageEffectPlugingetPluginByLabel (const std::string &label, int vermaj=-1, int vermin=-1) const
OfxhImageEffectHostgetHost ()
const std::vector
< OfxhImageEffectPlugin * > & 
getPlugins () const
const std::map< std::string,
OfxhImageEffectPlugin * > & 
getPluginsByID () const
const std::map
< OfxhMajorPlugin,
OfxhImageEffectPlugin * > & 
getPluginsByIDMajor () const
void loadFromPlugin (OfxhPlugin &p)
 handle the case where the info needs filling in from the file. runs the "describe" action on the plugin.
void confirmPlugin (OfxhPlugin &p)
bool pluginSupported (const OfxhPlugin &p, std::string &reason) const
 whether we support this plugin.
OfxhPluginnewPlugin (OfxhPluginBinary &pb, int pi, OfxPlugin &pl)
 factory method, to create a new plugin (from binary)
OfxhPluginnewPlugin (OfxhPluginBinary &pb, int pi, const std::string &api, int apiVersion, const std::string &pluginId, const std::string &rawId, int pluginMajorVersion, int pluginMinorVersion)
 factory method, to create a new plugin (from the

Private Attributes

std::vector
< OfxhImageEffectPlugin * > 
_plugins
 all plugins
std::map< std::string,
OfxhImageEffectPlugin * > 
_pluginsByID
 latest version of each plugin by ID
std::map< OfxhMajorPlugin,
OfxhImageEffectPlugin * > 
_pluginsByIDMajor
 latest minor version of each plugin by (ID,major)
OfxhImageEffectHost_host
 pointer to our image effect host

Friends

std::ostream & operator<< (std::ostream &os, const This &g)

Detailed Description

implementation of the specific Image Effect handler API cache.

Definition at line 21 of file OfxhImageEffectPluginCache.hpp.


Member Typedef Documentation


Constructor & Destructor Documentation

tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::OfxhImageEffectPluginCache ( OfxhImageEffectHost host) [explicit]

Definition at line 14 of file OfxhImageEffectPluginCache.cpp.

tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::~OfxhImageEffectPluginCache ( )

Definition at line 18 of file OfxhImageEffectPluginCache.cpp.


Member Function Documentation

void tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::confirmPlugin ( OfxhPlugin p) [virtual]
OfxhImageEffectHost& tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::getHost ( ) [inline, virtual]

Implements tuttle::host::ofx::APICache::OfxhPluginAPICacheI.

Definition at line 53 of file OfxhImageEffectPluginCache.hpp.

References _host.

Referenced by loadFromPlugin().

OfxhImageEffectPlugin * tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::getPluginById ( const std::string &  id,
int  vermaj = -1,
int  vermin = -1 
)

get the plugin by id. vermaj and vermin can be specified. if they are not it will pick the highest found version.

Definition at line 24 of file OfxhImageEffectPluginCache.cpp.

References _plugins, _pluginsByID, tuttle::host::ofx::OfxhPluginDesc::getIdentifier(), tuttle::host::ofx::OfxhPluginDesc::getVersionMajor(), tuttle::host::ofx::OfxhPluginDesc::getVersionMinor(), and tuttle::host::ofx::OfxhPlugin::trumps().

Referenced by tuttle::host::Core::getImageEffectPluginById(), and getPluginById().

Here is the call graph for this function:

const OfxhImageEffectPlugin* tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::getPluginById ( const std::string &  id,
int  vermaj = -1,
int  vermin = -1 
) const [inline]

Definition at line 46 of file OfxhImageEffectPluginCache.hpp.

References getPluginById().

Here is the call graph for this function:

OfxhImageEffectPlugin * tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::getPluginByLabel ( const std::string &  label,
int  vermaj = -1,
int  vermin = -1 
)
const OfxhImageEffectPlugin* tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::getPluginByLabel ( const std::string &  label,
int  vermaj = -1,
int  vermin = -1 
) const [inline]

Definition at line 51 of file OfxhImageEffectPluginCache.hpp.

References getPluginByLabel().

Here is the call graph for this function:

const std::vector< OfxhImageEffectPlugin * > & tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::getPlugins ( ) const

Definition at line 99 of file OfxhImageEffectPluginCache.cpp.

References _plugins.

const std::map< std::string, OfxhImageEffectPlugin * > & tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::getPluginsByID ( ) const

Definition at line 104 of file OfxhImageEffectPluginCache.cpp.

References _pluginsByID.

const std::map<OfxhMajorPlugin, OfxhImageEffectPlugin*>& tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::getPluginsByIDMajor ( ) const [inline]

Definition at line 59 of file OfxhImageEffectPluginCache.hpp.

References _pluginsByIDMajor.

OfxhPlugin * tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::newPlugin ( OfxhPluginBinary ,
int  pi,
OfxPlugin plug 
) [virtual]

factory method, to create a new plugin (from binary)

Implements tuttle::host::ofx::APICache::OfxhPluginAPICacheI.

Definition at line 212 of file OfxhImageEffectPluginCache.cpp.

OfxhPlugin * tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::newPlugin ( OfxhPluginBinary pb,
int  pi,
const std::string &  api,
int  apiVersion,
const std::string &  pluginId,
const std::string &  rawId,
int  pluginMajorVersion,
int  pluginMinorVersion 
) [virtual]

factory method, to create a new plugin (from the

Implements tuttle::host::ofx::APICache::OfxhPluginAPICacheI.

Definition at line 221 of file OfxhImageEffectPluginCache.cpp.

bool tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::pluginSupported ( const OfxhPlugin p,
std::string &  reason 
) const [virtual]

whether we support this plugin.

Implements tuttle::host::ofx::APICache::OfxhPluginAPICacheI.

Definition at line 203 of file OfxhImageEffectPluginCache.cpp.

References tuttle::host::core(), tuttle::host::Core::getHost(), and tuttle::host::ofx::imageEffect::OfxhImageEffectHost::pluginSupported().

Here is the call graph for this function:


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const This g 
) [friend]

Definition at line 235 of file OfxhImageEffectPluginCache.cpp.


Field Documentation

pointer to our image effect host

Definition at line 37 of file OfxhImageEffectPluginCache.hpp.

Referenced by getHost(), and loadFromPlugin().

latest minor version of each plugin by (ID,major)

Definition at line 34 of file OfxhImageEffectPluginCache.hpp.

Referenced by confirmPlugin(), and getPluginsByIDMajor().


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