Mountain/Binary/Register/StatusReporterRegister.rs
1//! # Status Reporter Register Module
2//!
3//! Initializes the IPC status reporting functionality.
4
5use std::sync::Arc;
6
7use crate::{
8 IPC::StatusReporter::InitializeStatusReporter::initialize_status_reporter,
9 RunTime::ApplicationRunTime::ApplicationRunTime,
10 dev_log,
11};
12
13/// Initializes the IPC status reporting with the ApplicationRunTime.
14///
15/// # Arguments
16///
17/// * `ApplicationHandle` - The Tauri application handle
18/// * `RunTime` - The ApplicationRunTime instance
19///
20/// # Returns
21///
22/// A `Result` indicating success or failure.
23///
24/// # Status Reporter Functionality
25///
26/// The status reporter provides:
27/// - IPC connection status tracking
28/// - Historical status data collection
29/// - Real-time status reporting to frontend
30/// - Subscription-based status updates
31///
32/// # Errors
33///
34/// Returns an error if status reporter initialization fails.
35pub fn StatusReporterRegister(
36 ApplicationHandle:&tauri::AppHandle,
37 RunTime:Arc<ApplicationRunTime>,
38) -> Result<(), String> {
39 match initialize_status_reporter(ApplicationHandle, RunTime) {
40 Ok(()) => {
41 dev_log!("lifecycle", "[IPC] [StatusReporter] Status reporter initialized successfully.");
42 Ok(())
43 },
44 Err(e) => {
45 dev_log!("lifecycle", "error: [IPC] [StatusReporter] Failed to initialize: {}", e);
46 Err(format!("Failed to initialize status reporter: {}", e))
47 },
48 }
49}