CIPlugIn Class Reference

Inherits from
Conforms to
Framework
Library/Frameworks/QuartzCore.framework
Availability
OS X v10.4 and later
Declared in
CIPlugIn.h
Companion guides
Related sample code

Overview

The CIPlugIn class loads image units. An image unit is an image processing bundle that contains one or more Core Image filters. The .plugin extension indicates one or more filters that are packaged as an image unit.

Tasks

Loading Plug-ins

Class Methods

loadAllPlugIns

Scans directories for files that have the .plugin extension and then loads the image units.

+ (void)loadAllPlugIns
Discussion

This method scans the following directories:

  • /Library/Graphics/Image Units

  • ~/Library/Graphics/Image Units

Call this method once. If you call this method more than once, Core Image loads newly added image units, but image units (and the filters they contain) that are already loaded are not removed.

Availability
  • OS X v10.4 and later.
Declared In
CIPlugIn.h

loadNonExecutablePlugIns

Scans directories for files that have the .plugin extension and then loads only those filters that are marked by the image unit as non-executable filters.

+ (void)loadNonExecutablePlugIns
Discussion

This call does not execute any of the code in the image unit, it simply loads the code. You need to call this method only once to load a specific image unit. The behavior of this method is not defined for multiple calls for the same image unit.

Availability
  • OS X v10.4 and later.
Declared In
CIPlugIn.h

loadPlugIn:allowExecutableCode:

Loads filters from an image unit that have the appropriate executable status.

+ (void)loadPlugIn:(NSURL *)url allowExecutableCode:(BOOL)allowExecutableCode
Parameters
url

The location of the image unit to load.

allowExecutableCode

YES to load all filters from the image unit, or NO to load only those filters without CPU executable code.

Discussion

You need to call this method only once to load a specific image unit. The behavior of this method is not defined for multiple calls for the same image unit. If you pass NO for the allowExecutableCode parameter, Core Image will load only pure kernel filters that run entirely on the GPU, ignoring filters implemented using compiled Objective-C code.

Availability
  • OS X v10.7 and later.
Related Sample Code
Declared In
CIPlugIn.h