Struct dusk_api::Function[][src]

pub struct Function {
    pub name: &'static str,
    pub number: u64,
    pub arg_types: Vec<TypeId>,
    pub return_type: TypeId,
    pub dependencies: Option<Vec<InterplugRequest>>,
}

Structure representing main characteristics of a function needed for the program using a plugin, which implements it

A Function object contains

  • function name
  • its id number to be used when calling the function
  • argument TypeIds it takes
  • its return TypeId

Fields

name: &'static str

Function name, as a reference to a static string. Mainly used to give user the ability to choose the function they want to use

number: u64

Function ID, used to call this function

Should always be the same for same functions in the newer releases, unless a new plugin version is submitted

arg_types: Vec<TypeId>

TypeIds of arguments, this function expects to find inside of a Vector of Any trait implementors

See std::any::Any documentation to find out more about storing an Any trait implementor and getting back from a Box<dyn Any>

return_type: TypeId

The TypeId of the returned Any trait implementor

See std::any::Any documentation to find out more about storing an Any trait implementor and getting back from a Box<dyn Any>

dependencies: Option<Vec<InterplugRequest>>

If the function can not work without some optional interplug requests fulfilled, they must be included in this field when providing the function to the program that is using the plugin, so it knows if this function is available in the current setup or not.

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