Skip to content

Latest commit

 

History

History
112 lines (88 loc) · 3.73 KB

File metadata and controls

112 lines (88 loc) · 3.73 KB
graph TD
    subgraph main_rs ["main.rs"]
        main_rs_components["components"]
        main_rs_dbus["dbus"]
        main_rs_ha_mqtt["ha_mqtt"]
        main_rs_shutdown["shutdown"]
        main_rs_utils["utils"]
    end

    subgraph components ["components"]
        direction LR
        components_mod_rs["mod.rs"]
        components_buttons_rs["buttons.rs"]
        components_switch_rs["switch.rs"]
        components_system_sensors_rs["system_sensors.rs"]
    end

    subgraph dbus ["dbus"]
        direction LR
        dbus_mod_rs["mod.rs"]
        dbus_inhibitor_rs["inhibitor.rs"]
        dbus_power_management_rs["power_management.rs"]
        dbus_status_rs["status.rs"]
    end

    subgraph ha_mqtt ["ha_mqtt"]
        direction LR
        ha_mqtt_mod_rs["mod.rs"]
        ha_mqtt_discovery_rs["discovery.rs"]
        ha_mqtt_handlers_rs["handlers.rs"]
    end

    subgraph utils ["utils"]
        direction LR
        utils_mod_rs["mod.rs"]
        utils_config_rs["config.rs"]
        utils_logging_rs["logging.rs"]
        utils_version_rs["version.rs"]
    end

    %% Top-level file
    main_rs --> main_rs_components
    main_rs --> main_rs_dbus
    main_rs --> main_rs_ha_mqtt
    main_rs --> main_rs_shutdown
    main_rs --> main_rs_utils

    %% components module
    main_rs_components --> components_mod_rs
    components_mod_rs --> components_buttons_rs
    components_mod_rs --> components_switch_rs
    components_mod_rs --> components_system_sensors_rs

    components_buttons_rs --> ha_mqtt_discovery_rs["ha_mqtt::HomeAssistantComponent"]
    components_buttons_rs --> utils_config_rs["utils::Config"]

    components_switch_rs --> ha_mqtt_discovery_rs["ha_mqtt::HomeAssistantComponent"]
    components_switch_rs --> utils_config_rs["utils::Config"]

    components_system_sensors_rs --> ha_mqtt_discovery_rs["ha_mqtt::HomeAssistantComponent"]
    components_system_sensors_rs --> utils_config_rs["utils::Config"]


    %% dbus module
    main_rs_dbus --> dbus_mod_rs
    dbus_mod_rs --> dbus_inhibitor_rs
    dbus_mod_rs --> dbus_power_management_rs
    dbus_mod_rs --> dbus_status_rs

    dbus_inhibitor_rs --> dbus_power_management_rs["super::power_management::PowerEvent"]

    dbus_power_management_rs --> dbus_inhibitor_rs["super::inhibitor::PowerManager"]
    dbus_power_management_rs --> dbus_status_rs["crate::dbus::status::StatusManager"]
    dbus_power_management_rs --> ha_mqtt_handlers_rs["crate::ha_mqtt::TopicHandlers"]
    dbus_power_management_rs --> shutdown_rs["crate::shutdown"]
    dbus_power_management_rs --> utils_config_rs["crate::Config"]
    dbus_power_management_rs --> main_rs["crate::initialize_mqtt_connection"]


    dbus_status_rs --> ha_mqtt_discovery_rs["ha_mqtt::HomeAssistantComponent"]
    dbus_status_rs --> utils_config_rs["utils::Config"]

    %% ha_mqtt module
    main_rs_ha_mqtt --> ha_mqtt_mod_rs
    ha_mqtt_mod_rs --> ha_mqtt_discovery_rs
    ha_mqtt_mod_rs --> ha_mqtt_handlers_rs

    ha_mqtt_discovery_rs --> utils_config_rs["utils::Config"]
    ha_mqtt_discovery_rs --> utils_version_rs["utils::VersionInfo"]

    ha_mqtt_handlers_rs --> components_buttons_rs["crate::components::buttons::execute_command"]
    ha_mqtt_handlers_rs --> components_switch_rs["crate::components::switch::execute_switch_command"]


    %% shutdown.rs
    main_rs_shutdown --> shutdown_rs["shutdown.rs"]
    shutdown_rs --> dbus_mod_rs["crate::dbus::PowerManager"]
    shutdown_rs --> dbus_status_rs["crate::dbus::StatusManager"]


    %% utils module
    main_rs_utils --> utils_mod_rs
    utils_mod_rs --> utils_config_rs
    utils_mod_rs --> utils_logging_rs
    utils_mod_rs --> utils_version_rs


    %% Styling
    classDef module fill:#f9f,stroke:#333,stroke-width:2px;
    class main_rs,components,dbus,ha_mqtt,utils,shutdown_rs module;
Loading