Skip to main content

systemconfiguration/
network_configuration.rs

1use std::collections::BTreeMap;
2
3use serde::Deserialize;
4
5use crate::{bridge, error::Result, ffi};
6
7#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq)]
8pub struct NetworkConfigurationOverview {
9    pub interface_count: usize,
10    pub service_count: usize,
11    pub set_count: usize,
12    pub current_set_name: Option<String>,
13    pub current_set_id: Option<String>,
14    pub interface_types: BTreeMap<String, String>,
15    pub protocol_types: BTreeMap<String, String>,
16}
17
18#[derive(Clone, Copy, Debug, Default)]
19pub struct NetworkConfiguration;
20
21impl NetworkConfiguration {
22    pub fn overview() -> Result<NetworkConfigurationOverview> {
23        bridge::parse_json(
24            "sc_network_configuration_copy_overview",
25            unsafe { ffi::network_configuration::sc_network_configuration_copy_overview() },
26        )
27    }
28}