[][src]Struct lv2_sys::LV2UI_Request_Value

#[repr(C)]pub struct LV2UI_Request_Value {
    pub handle: LV2UI_Feature_Handle,
    pub request: Option<unsafe extern "C" fn(handle: LV2UI_Feature_Handle, key: LV2_URID, type_: LV2_URID, features: *const *const LV2_Feature) -> LV2UI_Request_Value_Status>,
}

A feature to request a new parameter value from the host.

Fields

handle: LV2UI_Feature_Handle

Pointer to opaque data which must be passed to request().

request: Option<unsafe extern "C" fn(handle: LV2UI_Feature_Handle, key: LV2_URID, type_: LV2_URID, features: *const *const LV2_Feature) -> LV2UI_Request_Value_Status>

Request a value for a parameter from the host.

This is mainly used by UIs to request values for complex parameters that don't change often, such as file paths, but it may be used to request any parameter value.

This function returns immediately, and the return value indicates whether the host can fulfill the request. The host may notify the plugin about the new parameter value, for example when a file is selected by the user, via the usual mechanism. Typically, the host will send a message to the plugin that sets the new parameter value, and the plugin will notify the UI via a message as usual for any other parameter change.

To provide an appropriate UI, the host can determine details about the parameter from the plugin data as usual. The additional parameters of this function provide support for more advanced use cases, but in the simple common case, the plugin will simply pass the key of the desired parameter and zero for everything else.

@param handle The handle field of this struct.

@param key The URID of the parameter.

@param type The optional type of the value to request. This can be used to request a specific value type for parameters that support several. If non-zero, it must be the URID of an instance of rdfs:Class or rdfs:Datatype.

@param features Additional features for this request, or NULL.

@return A status code which is 0 on success.

Trait Implementations

impl Clone for LV2UI_Request_Value[src]

impl Copy for LV2UI_Request_Value[src]

impl Debug for LV2UI_Request_Value[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

impl<T> From<T> for T[src]

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

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

type Owned = T

The resulting type after obtaining ownership.

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.