Mountain/Binary/Register/
IPCServerRegister.rs

1//! # IPC Server Register Module
2//!
3//! Initializes and manages the IPC server in Tauri state.
4
5use log::info;
6use tauri::Manager;
7
8use crate::IPC::TauriIPCServer::TauriIPCServer;
9
10/// Creates and initializes the Tauri IPC server, storing it in Tauri state.
11///
12/// # Arguments
13///
14/// * `ApplicationHandle` - The Tauri application handle
15///
16/// # Returns
17///
18/// A `Result` indicating success or failure.
19///
20/// # IPC Server Functionality
21///
22/// The Tauri IPC server provides:
23/// - Message routing between Wind and native code
24/// - Status reporting for IPC operations
25/// - Command invocation for frontend communication
26/// - Configuration synchronization
27///
28/// # Errors
29///
30/// Returns an error if IPC server initialization or state management fails.
31pub fn IPCServerRegister(ApplicationHandle:&tauri::AppHandle) -> Result<TauriIPCServer, String> {
32	let ipc_server = TauriIPCServer::new(ApplicationHandle.clone());
33
34	ApplicationHandle.manage(ipc_server.clone());
35
36	info!("[IPC] [Server] IPC server initialized and managed.");
37
38	Ok(ipc_server)
39}