// use tauri::Emitter // use tauri_plugin_mqtt::{Client as MqttClient, Event as MqttEvent}; // #[tauri::command] // pub async fn connect(host: String, port: u16) -> Result<(), String> { // let client = MqttClient::new(host, port); // client.connect().await.map_err(|e| e.to_string()) // } // #[tauri::command] // pub async fn subscribe(topic: String) -> Result<(), String> { // let client = MqttClient::default(); // client.subscribe(topic).await.map_err(|e| e.to_string()) // } // #[tauri::command] // pub async fn publish(topic: String, message: String) -> Result<(), String> { // let client = MqttClient::default(); // client.publish(topic, message).await.map_err(|e| e.to_string()) // } // pub fn listen_messages(app: tauri::AppHandle) { // let client = MqttClient::default(); // client.on_message(move |msg: MqttMessage| { // let _ = app.emit("mqtt-message", msg); // }); // } pub fn run() { tauri::Builder::default() .plugin(tauri_plugin_mqtt::init()) .invoke_handler(tauri::generate_handler![connect, subscribe, publish]) // .setup(|app| { // listen_messages(app.handle().clone()); // Ok(()) // }) .run(tauri::generate_context!()) .expect("error while running tauri application"); }