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

#include <OfxhImageEffectPlugin.hpp>

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

Public Types

typedef OfxhImageEffectPlugin This
typedef boost::ptr_map
< std::string,
OfxhImageEffectNodeDescriptor
ContextMap
typedef std::set< std::string > ContextSet

Public Member Functions

 OfxhImageEffectPlugin (OfxhImageEffectPluginCache &imageEffectPluginCache, OfxhPluginBinary &pluginBinary, int pluginIndex, OfxPlugin &plugin)
 OfxhImageEffectPlugin (OfxhImageEffectPluginCache &imageEffectPluginCache, OfxhPluginBinary &pluginBinary, int pluginIndex, const std::string &api, int apiVersion, const std::string &pluginId, const std::string &rawId, int pluginMajorVersion, int pluginMinorVersion)
 ~OfxhImageEffectPlugin ()
bool operator== (const OfxhImageEffectPlugin &other) const
bool operator!= (const OfxhImageEffectPlugin &other) const
void setApiHandler (OfxhImageEffectPluginCache &api)
void setApiHandler (APICache::OfxhPluginAPICacheI &api)
APICache::OfxhPluginAPICacheIgetApiHandler ()
const
APICache::OfxhPluginAPICacheI
getApiHandler () const
OfxhImageEffectNodeDescriptorgetDescriptor ()
 get the base image effect descriptor
const
OfxhImageEffectNodeDescriptor
getDescriptor () const
 get the base image effect descriptor, const version
OfxhImageEffectNodeDescriptorgetDescriptorInContext (const std::string &context)
 get the image effect descriptor for the context
void addContext (const std::string &context)
void addContext (const std::string &context, OfxhImageEffectNodeDescriptor *ied)
void initContexts ()
const ContextSetgetContexts () const
bool supportsContext (const std::string &context) const
OfxhPluginLoadGuardgetPluginLoadGuardPtr ()
const OfxhPluginLoadGuardgetPluginLoadGuardPtr () const
void loadAndDescribeActions ()
void unloadAction ()
imageEffect::OfxhImageEffectNodecreateInstance (const std::string &context)
 this is called to make an instance of the effect the client data ptr is what is passed back to the client creation function

Private Member Functions

 OfxhImageEffectPlugin ()
OfxhImageEffectNodeDescriptordescribeInContextAction (const std::string &context)
template<class Archive >
void serialize (Archive &ar, const unsigned int version)

Private Attributes

OfxhImageEffectPluginCache_imageEffectPluginCache
ContextMap _contexts
 map to store contexts in
ContextSet _knownContexts
boost::scoped_ptr
< OfxhPluginLoadGuard
_pluginLoadGuard
boost::scoped_ptr
< OfxhImageEffectNodeDescriptor
_baseDescriptor
 NEEDS TO BE MADE WITH A FACTORY FUNCTION ON THE HOST!!!!!!

Friends

class boost::serialization::access

Detailed Description

subclass of Plugin representing an ImageEffect plugin. used to store API-specific data

Definition at line 66 of file OfxhImageEffectPlugin.hpp.


Member Typedef Documentation

Definition at line 71 of file OfxhImageEffectPlugin.hpp.


Constructor & Destructor Documentation

tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::OfxhImageEffectPlugin ( ) [private]
Todo:
tuttle

Definition at line 64 of file OfxhImageEffectPlugin.cpp.

tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::OfxhImageEffectPlugin ( OfxhImageEffectPluginCache imageEffectPluginCache,
OfxhPluginBinary pluginBinary,
int  pluginIndex,
OfxPlugin &  plugin 
)

Definition at line 73 of file OfxhImageEffectPlugin.cpp.

tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::OfxhImageEffectPlugin ( OfxhImageEffectPluginCache imageEffectPluginCache,
OfxhPluginBinary pluginBinary,
int  pluginIndex,
const std::string &  api,
int  apiVersion,
const std::string &  pluginId,
const std::string &  rawId,
int  pluginMajorVersion,
int  pluginMinorVersion 
)

Definition at line 82 of file OfxhImageEffectPlugin.cpp.

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

Definition at line 103 of file OfxhImageEffectPlugin.cpp.

References _pluginLoadGuard.


Member Function Documentation

void tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::addContext ( const std::string &  context)
void tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::addContext ( const std::string &  context,
OfxhImageEffectNodeDescriptor ied 
)

Definition at line 146 of file OfxhImageEffectPlugin.cpp.

References _contexts, and _knownContexts.

imageEffect::OfxhImageEffectNode * tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::createInstance ( const std::string &  context)

this is called to make an instance of the effect the client data ptr is what is passed back to the client creation function

Todo:
  • we need to make sure action:load is called, then action:describe again (not because we are expecting the results to change, but because plugin might get confused otherwise), then a describe_in_context
Todo:
tuttle: don't use singleton here.

Definition at line 277 of file OfxhImageEffectPlugin.cpp.

References tuttle::host::core(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::createInstanceAction(), getDescriptorInContext(), tuttle::host::Core::getHost(), loadAndDescribeActions(), and tuttle::host::Host::newInstance().

Referenced by tuttle::host::createNode().

Here is the call graph for this function:

OfxhImageEffectNodeDescriptor & tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::describeInContextAction ( const std::string &  context) [private]
APICache::OfxhPluginAPICacheI & tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::getApiHandler ( ) [virtual]
Returns:
the API handler this plugin was constructed by

Implements tuttle::host::ofx::OfxhPlugin.

Definition at line 124 of file OfxhImageEffectPlugin.cpp.

References _imageEffectPluginCache.

Referenced by loadAndDescribeActions().

const APICache::OfxhPluginAPICacheI & tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::getApiHandler ( ) const [virtual]

Implements tuttle::host::ofx::OfxhPlugin.

Definition at line 129 of file OfxhImageEffectPlugin.cpp.

References _imageEffectPluginCache.

const std::set< std::string > & tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::getContexts ( ) const

Definition at line 160 of file OfxhImageEffectPlugin.cpp.

References _knownContexts.

OfxhImageEffectNodeDescriptor & tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::getDescriptor ( )
const OfxhImageEffectNodeDescriptor & tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::getDescriptor ( ) const

get the base image effect descriptor, const version

get the image effect descriptor const version

Definition at line 141 of file OfxhImageEffectPlugin.cpp.

References _baseDescriptor.

OfxhImageEffectNodeDescriptor & tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::getDescriptorInContext ( const std::string &  context)

get the image effect descriptor for the context

Definition at line 233 of file OfxhImageEffectPlugin.cpp.

References _contexts, _knownContexts, describeInContextAction(), and tuttle::host::ofx::OfxhPluginDesc::getIdentifier().

Referenced by createInstance().

Here is the call graph for this function:

OfxhPluginLoadGuard* tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::getPluginLoadGuardPtr ( ) [inline]
const OfxhPluginLoadGuard* tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::getPluginLoadGuardPtr ( ) const [inline]

Definition at line 133 of file OfxhImageEffectPlugin.hpp.

References _pluginLoadGuard.

void tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::initContexts ( )
void tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::loadAndDescribeActions ( )

Definition at line 189 of file OfxhImageEffectPlugin.cpp.

References _pluginLoadGuard, getApiHandler(), getDescriptor(), tuttle::host::ofx::OfxhPluginDesc::getIdentifier(), and initContexts().

Referenced by createInstance(), and tuttle::host::createNode().

Here is the call graph for this function:

bool tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::operator!= ( const OfxhImageEffectPlugin other) const [inline]

Definition at line 105 of file OfxhImageEffectPlugin.hpp.

References operator==().

Here is the call graph for this function:

bool tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::operator== ( const OfxhImageEffectPlugin other) const

Definition at line 111 of file OfxhImageEffectPlugin.cpp.

References _baseDescriptor.

Referenced by operator!=().

template<class Archive >
void tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::serialize ( Archive &  ar,
const unsigned int  version 
) [inline, private]

Reimplemented from tuttle::host::ofx::OfxhPlugin.

Definition at line 151 of file OfxhImageEffectPlugin.hpp.

References _baseDescriptor, and _contexts.

void tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::setApiHandler ( OfxhImageEffectPluginCache api) [inline]

Definition at line 107 of file OfxhImageEffectPlugin.hpp.

References _imageEffectPluginCache.

void tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::setApiHandler ( APICache::OfxhPluginAPICacheI api) [virtual]

Implements tuttle::host::ofx::OfxhPlugin.

Definition at line 119 of file OfxhImageEffectPlugin.cpp.

References _imageEffectPluginCache.

bool tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::supportsContext ( const std::string &  context) const

Definition at line 165 of file OfxhImageEffectPlugin.cpp.

References _knownContexts.

Referenced by tuttle::host::createNode().

void tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::unloadAction ( )

Definition at line 292 of file OfxhImageEffectPlugin.cpp.

References _pluginLoadGuard.


Friends And Related Function Documentation

friend class boost::serialization::access [friend]

Reimplemented from tuttle::host::ofx::OfxhPlugin.

Definition at line 149 of file OfxhImageEffectPlugin.hpp.


Field Documentation

NEEDS TO BE MADE WITH A FACTORY FUNCTION ON THE HOST!!!!!!

Todo:
tuttle: ???

Definition at line 84 of file OfxhImageEffectPlugin.hpp.

Referenced by getDescriptor(), operator==(), and serialize().


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