systemconfiguration/
network_configuration.rs1use 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}