[][src]Enum kpal_plugin::Callbacks

#[repr(C)]
pub enum Callbacks<T, E: Error + PluginError> {
    Constant,
    Get(fn(plugin: &T, cached: &Value) -> Result<Value, E>),
    GetAndSet(fn(plugin: &T, cached: &Value) -> Result<Value, E>, fn(plugin: &T, cached: &Value, value: &Val) -> Result<(), E>),
    Update,
}

Callback functions that communicate with the hardware when an attribute is read or set.

The purpose of a callback is two-fold: it performs the actual communication with the hardware and/or it modifies the plugin's cached attribute data.

If the attribute is constant and never changes its original value, then the Constant variant should be used. If the attribute's value changes without user input (e.g. a sensor reading) but cannot be set, then use the Get variant. Otherwise, for attributes that can be both read and set, use the GetAndSet variant.

The Update variant is used to set only the cached value of attributes. Attributes that are Update always return their cached value when the attribute's value is read.

Variants

Constant
Get(fn(plugin: &T, cached: &Value) -> Result<Value, E>)
GetAndSet(fn(plugin: &T, cached: &Value) -> Result<Value, E>, fn(plugin: &T, cached: &Value, value: &Val) -> Result<(), E>)
Update

Trait Implementations

impl<T, E: Error + PluginError> Debug for Callbacks<T, E>[src]

Auto Trait Implementations

impl<T, E> RefUnwindSafe for Callbacks<T, E>

impl<T, E> Send for Callbacks<T, E>

impl<T, E> Sync for Callbacks<T, E>

impl<T, E> Unpin for Callbacks<T, E>

impl<T, E> UnwindSafe for Callbacks<T, E>

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, 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.