TuttleOFX
1
|
implementation of the specific Image Effect handler API cache. More...
#include <OfxhImageEffectPluginCache.hpp>
Public Types | |
typedef OfxhImageEffectPluginCache | This |
typedef std::map< std::string, OfxhImageEffectPlugin * > | MapPluginsByID |
Public Member Functions | |
OfxhImageEffectPluginCache (OfxhImageEffectHost &host) | |
~OfxhImageEffectPluginCache () | |
OfxhImageEffectPlugin * | getPluginById (const std::string &id, int vermaj=-1, int vermin=-1) |
const OfxhImageEffectPlugin * | getPluginById (const std::string &id, int vermaj=-1, int vermin=-1) const |
OfxhImageEffectPlugin * | getPluginByLabel (const std::string &label, int vermaj=-1, int vermin=-1) |
const OfxhImageEffectPlugin * | getPluginByLabel (const std::string &label, int vermaj=-1, int vermin=-1) const |
OfxhImageEffectHost & | getHost () |
const std::vector < OfxhImageEffectPlugin * > & | getPlugins () const |
const MapPluginsByID & | getPluginsByID () 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. | |
OfxhPlugin * | newPlugin (OfxhPluginBinary &pb, int pi, OfxPlugin &pl) |
factory method, to create a new plugin (from binary) | |
OfxhPlugin * | newPlugin (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) |
implementation of the specific Image Effect handler API cache.
Definition at line 21 of file OfxhImageEffectPluginCache.hpp.
typedef std::map<std::string, OfxhImageEffectPlugin*> tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::MapPluginsByID |
Definition at line 25 of file OfxhImageEffectPluginCache.hpp.
Definition at line 24 of file OfxhImageEffectPluginCache.hpp.
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.
void tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::confirmPlugin | ( | OfxhPlugin & | p | ) | [virtual] |
Implements tuttle::host::ofx::APICache::OfxhPluginAPICacheI.
Definition at line 171 of file OfxhImageEffectPluginCache.cpp.
References _plugins, _pluginsByID, _pluginsByIDMajor, tuttle::host::ofx::OfxhPluginDesc::getIdentifier(), tuttle::host::ofx::OfxhPluginDesc::getVersionMajor(), and tuttle::host::ofx::OfxhPlugin::trumps().
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().
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().
OfxhImageEffectPlugin * tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::getPluginByLabel | ( | const std::string & | label, |
int | vermaj = -1 , |
||
int | vermin = -1 |
||
) |
get the plugin by label. vermaj and vermin can be specified. if they are not it will pick the highest found version.
Definition at line 66 of file OfxhImageEffectPluginCache.cpp.
References _plugins, tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::getDescriptor(), tuttle::host::ofx::imageEffect::OfxhImageEffectNodeBase::getProperties(), tuttle::host::ofx::property::OfxhSet::getStringProperty(), tuttle::host::ofx::OfxhPluginDesc::getVersionMajor(), tuttle::host::ofx::OfxhPluginDesc::getVersionMinor(), and tuttle::host::ofx::OfxhPlugin::trumps().
Referenced by getPluginByLabel().
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().
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().
void tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::loadFromPlugin | ( | OfxhPlugin & | op | ) | [virtual] |
handle the case where the info needs filling in from the file. runs the "describe" action on the plugin.
handle the case where the info needs filling in from the file. Runs the "describe" action on the plugin.
Implements tuttle::host::ofx::APICache::OfxhPluginAPICacheI.
Definition at line 113 of file OfxhImageEffectPluginCache.cpp.
References _host, tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::addContext(), tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::getDescriptor(), tuttle::host::ofx::property::OfxhSet::getDimension(), tuttle::host::ofx::imageEffect::OfxhImageEffectNodeBase::getHandle(), getHost(), tuttle::host::ofx::OfxhPluginDesc::getIdentifier(), tuttle::host::ofx::imageEffect::OfxhImageEffectNodeBase::getProperties(), tuttle::host::ofx::OfxhPluginDesc::getRawIdentifier(), tuttle::host::ofx::property::OfxhSet::getStringProperty(), tuttle::host::ofx::imageEffect::OfxhImageEffectHost::loadingStatus(), and tuttle::host::ofx::OfxhPlugin::setIsSupported().
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().
std::ostream& operator<< | ( | std::ostream & | os, |
const This & | g | ||
) | [friend] |
Definition at line 239 of file OfxhImageEffectPluginCache.cpp.
pointer to our image effect host
Definition at line 38 of file OfxhImageEffectPluginCache.hpp.
Referenced by getHost(), and loadFromPlugin().
std::vector<OfxhImageEffectPlugin*> tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::_plugins [private] |
all plugins
Definition at line 29 of file OfxhImageEffectPluginCache.hpp.
Referenced by confirmPlugin(), getPluginById(), getPluginByLabel(), and getPlugins().
latest version of each plugin by ID
Definition at line 32 of file OfxhImageEffectPluginCache.hpp.
Referenced by confirmPlugin(), getPluginById(), getPluginsByID(), and tuttle::host::ofx::imageEffect::operator<<().
std::map<OfxhMajorPlugin, OfxhImageEffectPlugin*> tuttle::host::ofx::imageEffect::OfxhImageEffectPluginCache::_pluginsByIDMajor [private] |
latest minor version of each plugin by (ID,major)
Definition at line 35 of file OfxhImageEffectPluginCache.hpp.
Referenced by confirmPlugin().