VVFFGL
Framework for working with FreeFrame and FreeFrame GL filters
Public Member Functions | Static Public Member Functions | Properties
FFGLPluginManager Class Reference

Loads plugins from disk, instantiates plugins for you to work with. More...

#import <FFGLPluginManager.h>

Public Member Functions

(void) - loadLibraryPlugins
(void) - loadApplicationPlugins
(void) - loadPluginsFromDirectory:
(void) - loadPluginsFromDirectories:
(void) - loadPluginAtPath:
(void) - unloadPlugin:
(FFGLPlugin *) - pluginWithIdentifier:

Static Public Member Functions

(FFGLPluginManager *) + sharedManager

Properties

BOOL loadsPluginsAutomatically
NSArray * plugins
NSArray * sourcePlugins
NSArray * effectPlugins

Detailed Description

Loads plugins from disk, instantiates plugins for you to work with.

An instance of FFGLPluginManager is automatically created when you call the singleton method "sharedManager", which returns a pointer to it. The general workflow is to use the main isntance of FFGLPluginManager to load plugins from a directory on disk- the loaded plugins may then be accessed, browsed, etc.


Member Function Documentation

Loads any plugins bundled with the current application (typically in "Contents/PlugIns" within the application's bundle).

Loads any plugins available on the local machine or network. Plugins should be installed in "Graphics/FreeFrame Plug-Ins" in the user's or machine's Library folder. Additionally, any plugins installed in "Application Support/FreeFrame" will be loaded.

- (void) loadPluginAtPath: (NSString *)  path

Loads the specified plugin.

Parameters:
pathshould be the path to a FreeFrame plugin.
- (void) loadPluginsFromDirectories: (NSArray *)  paths

Loads plugins from the specified directories.

Parameters:
pathsshould be a NSArray of NSStrings.
- (void) loadPluginsFromDirectory: (NSString *)  path

Loads plugins from the specified directory.

Parameters:
pathshould be a path to a directory containing some FreeFrame plugins.
- (FFGLPlugin *) pluginWithIdentifier: (NSString *)  identifier

Returns the first instance of a FFGLPlugin with a matching identifier, or nil if none exists. You can obtain the identifier for a plugin by querying the FFGLPluginAttributeIdentifierKey of the plugins attributes dictionary. Note that there is no centralised control for plugin identifiers, and two FFGLPlugins may have the same identifier and may or may not be instances of the same plugin. If loadsPluginsAutomatically returns YES, this method will call loadLibraryPlugins and loadApplicationPlugins if they haven't already been called.

Returns the unique instance of FFGLPluginManager.

- (void) unloadPlugin: (FFGLPlugin *)  plugin

Unloads the plugin.

Parameters:
pluginshould be a currently loaded plugin.

Property Documentation

- (NSArray *) effectPlugins [read, assign]

Returns an array of all effect type FFGLPlugins currently loaded. If loadsPluginsAutomatically returns YES, this method will call loadLibraryPlugins and loadApplicationPlugins if they haven't already been called.

- (BOOL) loadsPluginsAutomatically [read, write, assign]

Plugins available on the user's system as well as any bundled with the application will be loaded automatically if this is YES. The default behaviour is to load plugins automatically.

- (NSArray *) plugins [read, assign]

Returns an array of all FFGLPlugins currently loaded. If loadsPluginsAutomatically returns YES, this method will call loadLibraryPlugins and loadApplicationPlugins if they haven't already been called.

- (NSArray *) sourcePlugins [read, assign]

Returns an array of all source type FFGLPlugins currently loaded. If loadsPluginsAutomatically returns YES, this method will call loadLibraryPlugins and loadApplicationPlugins if they haven't already been called.


The documentation for this class was generated from the following files:
 All Data Structures Functions Properties