[][src]Struct ofx_sys::OfxPlugin

#[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, }

@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

impl Clone for OfxPlugin[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Copy for OfxPlugin[src]

impl Debug for OfxPlugin[src]

Auto Trait Implementations

impl !Send for OfxPlugin

impl !Sync for OfxPlugin

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]