Struct ofx_sys::OfxPlugin

source ·
#[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

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.