Struct tauri::Builder[][src]

pub struct Builder<E, L, MID, TID, A, R> where
    E: Tag,
    L: Tag,
    MID: MenuId,
    TID: MenuId,
    A: Assets,
    R: Runtime
{ /* fields omitted */ }
Expand description

Builds a Tauri application.

Implementations

impl<E, L, MID, TID, A, R> Builder<E, L, MID, TID, A, R> where
    E: Tag,
    L: Tag,
    MID: MenuId,
    TID: MenuId,
    A: Assets,
    R: Runtime
[src]

pub fn new() -> Self[src]

Creates a new App builder.

pub fn invoke_handler<F>(self, invoke_handler: F) -> Self where
    F: Fn(Invoke<Args<E, L, MID, TID, A, R>>) + Send + Sync + 'static, 
[src]

Defines the JS message handler callback.

pub fn setup<F>(self, setup: F) -> Self where
    F: Fn(&mut App<Args<E, L, MID, TID, A, R>>) -> Result<(), Box<dyn Error + Send>> + Send + 'static, 
[src]

Defines the setup hook.

pub fn on_page_load<F>(self, on_page_load: F) -> Self where
    F: Fn(Window<Args<E, L, MID, TID, A, R>>, PageLoadPayload) + Send + Sync + 'static, 
[src]

Defines the page load hook.

pub fn plugin<P: Plugin<Args<E, L, MID, TID, A, R>> + 'static>(
    self,
    plugin: P
) -> Self
[src]

Adds a plugin to the runtime.

pub fn manage<T>(self, state: T) -> Self where
    T: Send + Sync + 'static, 
[src]

Add state to the state managed by the application.

This method can be called any number of times as long as each call refers to a different T.

Managed state can be retrieved by any request handler via the State request guard. In particular, if a value of type T is managed by Tauri, adding State<T> to the list of arguments in a request handler instructs Tauri to retrieve the managed value.

Panics

Panics if state of type T is already being managed.

Example

use tauri::State;

struct MyInt(isize);
struct MyString(String);

#[tauri::command]
fn int_command(state: State<'_, MyInt>) -> String {
    format!("The stateful int is: {}", state.0)
}

#[tauri::command]
fn string_command<'r>(state: State<'r, MyString>) {
    println!("state: {}", state.inner().0);
}

fn main() {
    tauri::Builder::default()
        .manage(MyInt(10))
        .manage(MyString("Hello, managed state!".to_string()))
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

pub fn create_window<F>(self, label: L, url: WindowUrl, setup: F) -> Self where
    F: FnOnce(<R::Dispatcher as Dispatch>::WindowBuilder, WebviewAttributes) -> (<R::Dispatcher as Dispatch>::WindowBuilder, WebviewAttributes)
[src]

Creates a new webview window.

pub fn system_tray(self, items: Vec<SystemTrayMenuItem<TID>>) -> Self[src]

This is supported on crate feature system-tray only.

Adds the icon configured on tauri.conf.json to the system tray with the specified menu items.

pub fn menu(self, menu: Vec<Menu<MID>>) -> Self[src]

This is supported on crate feature menu only.

Sets the menu to use on all windows.

pub fn on_menu_event<F: Fn(WindowMenuEvent<Args<E, L, MID, TID, A, R>>) + Send + Sync + 'static>(
    self,
    handler: F
) -> Self
[src]

This is supported on crate feature menu only.

Registers a menu event handler for all windows.

pub fn on_window_event<F: Fn(GlobalWindowEvent<Args<E, L, MID, TID, A, R>>) + Send + Sync + 'static>(
    self,
    handler: F
) -> Self
[src]

Registers a window event handler for all windows.

pub fn on_system_tray_event<F: Fn(&AppHandle<Args<E, L, MID, TID, A, R>>, SystemTrayEvent<TID>) + Send + Sync + 'static>(
    self,
    handler: F
) -> Self
[src]

This is supported on crate feature system-tray only.

Registers a system tray event handler.

pub fn register_global_uri_scheme_protocol<N: Into<String>, H: Fn(&str) -> Result<Vec<u8>, Box<dyn Error>> + Send + Sync + 'static>(
    self,
    uri_scheme: N,
    protocol: H
) -> Self
[src]

Registers a URI scheme protocol available to all webviews. Leverages setURLSchemeHandler on macOS, AddWebResourceRequestedFilter on Windows and webkit-web-context-register-uri-scheme on Linux.

Arguments

  • uri_scheme The URI scheme to register, such as example.
  • protocol the protocol associated with the given URI scheme. It’s a function that takes an URL such as example://localhost/asset.css.

pub fn run(self, context: Context<A>) -> Result<()>[src]

Runs the configured Tauri application.

Trait Implementations

impl<A: Assets> Default for Builder<String, String, String, String, A, Wry>[src]

Make Wry the default Runtime for Builder

fn default() -> Self[src]

Returns the “default value” for a type. Read more

Auto Trait Implementations

impl<E, L, MID, TID, A, R> !RefUnwindSafe for Builder<E, L, MID, TID, A, R>

impl<E, L, MID, TID, A, R> Send for Builder<E, L, MID, TID, A, R> where
    <<R as Runtime>::Dispatcher as Dispatch>::WindowBuilder: Send

impl<E, L, MID, TID, A, R> !Sync for Builder<E, L, MID, TID, A, R>

impl<E, L, MID, TID, A, R> Unpin for Builder<E, L, MID, TID, A, R> where
    L: Unpin,
    MID: Unpin,
    TID: Unpin,
    <<R as Runtime>::Dispatcher as Dispatch>::WindowBuilder: Unpin

impl<E, L, MID, TID, A, R> !UnwindSafe for Builder<E, L, MID, TID, A, R>

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[src]

fn instrument(self, span: Span) -> Instrumented<Self>[src]

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

fn in_current_span(self) -> Instrumented<Self>[src]

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

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

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointable for T

pub const ALIGN: usize

The alignment of pointer.

type Init = T

The type for initializers.

pub unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more

pub unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more

pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more

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.

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

Performs the conversion.

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.

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

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V