#[repr(C)]pub struct OfxPlugin {
pub pluginApi: *const c_char,
pub apiVersion: c_int,
pub pluginIdentifier: *const c_char,
pub pluginVersionMajor: c_uint,
pub pluginVersionMinor: c_uint,
pub setHost: Option<unsafe extern "C" fn(host: *mut OfxHost)>,
pub mainEntry: OfxPluginEntryPoint,
}
Expand description
@brief The structure that defines a plug-in to a host.
This structure is the first element in any plug-in structure using the OFX plug-in architecture. By examining its members a host can determine the API that the plug-in implements, the version of that API, its name and version.
For details see \ref Architecture.
Fields
pluginApi: *const c_char
Defines the type of the plug-in, this will tell the host what the plug-in does. e.g.: an image effects plug-in would be a “OfxImageEffectPlugin”
apiVersion: c_int
Defines the version of the pluginApi that this plug-in implements
pluginIdentifier: *const c_char
String that uniquely labels the plug-in among all plug-ins that implement an API. It need not necessarily be human sensible, however the preference is to use reverse internet domain name of the developer, followed by a ‘.’ then by a name that represents the plug-in.. It must be a legal ASCII string and have no whitespace in the name and no non printing chars. For example “uk.co.somesoftwarehouse.myPlugin”
pluginVersionMajor: c_uint
Major version of this plug-in, this gets incremented when backwards compatibility is broken.
pluginVersionMinor: c_uint
Major version of this plug-in, this gets incremented when software is changed, but does not break backwards compatibility.
setHost: Option<unsafe extern "C" fn(host: *mut OfxHost)>
@brief Function the host uses to connect the plug-in to the host’s api fetcher
\arg \e fetchApi - pointer to host’s API fetcher
Mandatory function.
The very first function called in a plug-in. The plug-in \em must \em not call any OFX functions within this, it must only set its local copy of the host pointer.
\pre
- nothing else has been called
\post
- the pointer suite is valid until the plug-in is unloaded
mainEntry: OfxPluginEntryPoint
@brief Main entry point for plug-ins
Mandatory function.
The exact set of actions is determined by the plug-in API that is being implemented, however all plug-ins can perform several actions. For the list of actions consult \ref ActionsAll.
Preconditions
- setHost has been called