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