use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub enum ThreadRole {
Disabled,
Detached,
Child,
Router,
Leader,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ThreadNodeInfo {
pub rloc16: Option<String>,
pub ext_address: Option<String>,
pub ext_panid: Option<String>,
pub network_name: Option<String>,
pub role: Option<ThreadRole>,
pub border_routing_state: Option<String>,
pub version_threshold: Option<u32>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ThreadNeighbor {
pub ext_address: Option<String>,
pub rloc16: Option<String>,
pub rssi: Option<i32>,
pub link_quality_in: Option<u8>,
pub age: Option<u32>,
pub full_thread_device: Option<bool>,
pub rx_on_when_idle: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ThreadNetworkDataset {
pub active_dataset: String,
}