OfxMessageSuiteV2

Struct OfxMessageSuiteV2 

Source
#[repr(C)]
pub struct OfxMessageSuiteV2 { pub message: Option<unsafe extern "C" fn(handle: *mut c_void, messageType: *const c_char, messageId: *const c_char, format: *const c_char, ...) -> OfxStatus>, pub setPersistentMessage: Option<unsafe extern "C" fn(handle: *mut c_void, messageType: *const c_char, messageId: *const c_char, format: *const c_char, ...) -> OfxStatus>, pub clearPersistentMessage: Option<unsafe extern "C" fn(handle: *mut c_void) -> OfxStatus>, }
Expand description

@brief The OFX suite that allows a plug-in to pass messages back to a user.

This extends OfxMessageSuiteV1, and should be considered a replacement to version 1.

Note that this suite has been extended in backwards compatible manner, so that a host can return this struct for both V1 and V2.

Fields§

§message: Option<unsafe extern "C" fn(handle: *mut c_void, messageType: *const c_char, messageId: *const c_char, format: *const c_char, ...) -> OfxStatus>

@brief Post a transient message on the host, using printf style varargs. Same as the V1 message suite call.

\arg handle - effect handle (descriptor or instance) the message should be associated with, may be null \arg messageType - string describing the kind of message to post, one of the kOfxMessageType* constants \arg messageId - plugin specified id to associate with this message. If overriding the message in XML resource, the message is identified with this, this may be NULL, or “”, in which case no override will occur, \arg format - printf style format string \arg … - printf style varargs list to print

\returns

  • ::kOfxStatOK - if the message was sucessfully posted
  • ::kOfxStatReplyYes - if the message was of type kOfxMessageQuestion and the user reply yes
  • ::kOfxStatReplyNo - if the message was of type kOfxMessageQuestion and the user reply no
  • ::kOfxStatFailed - if the message could not be posted for some reason
§setPersistentMessage: Option<unsafe extern "C" fn(handle: *mut c_void, messageType: *const c_char, messageId: *const c_char, format: *const c_char, ...) -> OfxStatus>

@brief Post a persistent message on an effect, using printf style varargs, and set error states. New for V2 message suite.

\arg handle - effect instance handle the message should be associated with, may NOT be null, \arg messageType - string describing the kind of message to post, should be one of…

  • kOfxMessageError
  • kOfxMessageWarning
  • kOfxMessageMessage \arg messageId - plugin specified id to associate with this message. If overriding the message in XML resource, the message is identified with this, this may be NULL, or “”, in which case no override will occur, \arg format - printf style format string \arg … - printf style varargs list to print

\returns

  • ::kOfxStatOK - if the message was sucessfully posted
  • ::kOfxStatErrBadHandle - the handle was rubbish
  • ::kOfxStatFailed - if the message could not be posted for some reason

Persistent messages are associated with an effect handle until explicitly cleared by an effect. So if an error message is posted the error state, and associated message will persist and be displayed on the effect appropriately. (eg: draw a node in red on a node based compostor and display the message when clicked on).

If \e messageType is error or warning, associated error states should be flagged on host applications. Posting an error message implies that the host cannot proceeed, a warning allows the host to proceed, whilst a simple message should have no stop anything.

§clearPersistentMessage: Option<unsafe extern "C" fn(handle: *mut c_void) -> OfxStatus>

@brief Clears any persistent message on an effect handle that was set by OfxMessageSuiteV2::setPersistentMessage. New for V2 message suite.

\arg handle - effect instance handle messages should be cleared from. \arg handle - effect handle (descriptor or instance)

\returns

  • ::kOfxStatOK - if the message was sucessfully cleared
  • ::kOfxStatErrBadHandle - the handle was rubbish
  • ::kOfxStatFailed - if the message could not be cleared for some reason

Clearing a message will clear any associated error state.

Trait Implementations§

Source§

impl Clone for OfxMessageSuiteV2

Source§

fn clone(&self) -> OfxMessageSuiteV2

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for OfxMessageSuiteV2

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for OfxMessageSuiteV2

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.