From c52995ab7c3e8fe85c3e532ebe66414c48e5990b Mon Sep 17 00:00:00 2001 From: Jonas Kruckenberg Date: Fri, 6 Jan 2023 14:22:34 +0100 Subject: [PATCH] refactor(websocket): Use new PluginBuilder --- plugins/websocket/src/lib.rs | 38 ++++++++++-------------------------- 1 file changed, 10 insertions(+), 28 deletions(-) diff --git a/plugins/websocket/src/lib.rs b/plugins/websocket/src/lib.rs index dccea1ec..c3e08ace 100644 --- a/plugins/websocket/src/lib.rs +++ b/plugins/websocket/src/lib.rs @@ -1,10 +1,9 @@ use futures_util::{stream::SplitSink, SinkExt, StreamExt}; use serde::{ser::Serializer, Deserialize, Serialize}; -use serde_json::Value as JsonValue; use tauri::{ api::ipc::{format_callback, CallbackFn}, - plugin::Plugin, - AppHandle, Invoke, Manager, Runtime, State, Window, + plugin::{Builder as PluginBuilder, TauriPlugin}, + Manager, Runtime, State, Window, }; use tokio::{net::TcpStream, sync::Mutex}; use tokio_tungstenite::{ @@ -161,29 +160,12 @@ async fn send( } } -pub struct TauriWebsocket { - invoke_handler: Box) + Send + Sync>, -} - -impl Default for TauriWebsocket { - fn default() -> Self { - Self { - invoke_handler: Box::new(tauri::generate_handler![connect, send]), - } - } -} - -impl Plugin for TauriWebsocket { - fn name(&self) -> &'static str { - "websocket" - } - - fn initialize(&mut self, app: &AppHandle, _config: JsonValue) -> tauri::plugin::Result<()> { - app.manage(ConnectionManager::default()); - Ok(()) - } - - fn extend_api(&mut self, invoke: Invoke) { - (self.invoke_handler)(invoke) - } +pub fn init() -> TauriPlugin { + PluginBuilder::new("websocket") + .invoke_handler(tauri::generate_handler![connect, send]) + .setup(|app| { + app.manage(ConnectionManager::default()); + Ok(()) + }) + .build() }