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
typedef std::map< std::string,
OfxhImageEffectPlugin * > 
MapPluginsByID

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 MapPluginsByIDgetPluginsByID () 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
MapPluginsByID _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 54 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 47 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 52 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 OfxhImageEffectPluginCache::MapPluginsByID & tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::getPluginsByID ( ) const

Definition at line 104 of file OfxhImageEffectPluginCache.cpp.

References _pluginsByID.

Referenced by tuttle::host::io::getIOPluginsForExtension().

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 216 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 225 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 207 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 239 of file OfxhImageEffectPluginCache.cpp.


Field Documentation

pointer to our image effect host

Definition at line 38 of file OfxhImageEffectPluginCache.hpp.

Referenced by getHost(), and loadFromPlugin().

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

Definition at line 35 of file OfxhImageEffectPluginCache.hpp.

Referenced by confirmPlugin().


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