use serde::{Deserialize, Deserializer, Serialize};
use std::str::FromStr;
use tor_config::ConfigBuildError;
#[path = "bridge/config/err.rs"]
mod err;
pub use err::BridgeParseError;
#[derive(Debug, Clone, Eq, PartialEq, Hash)]
#[non_exhaustive]
pub enum BridgeConfig {}
#[derive(Debug, Clone, Eq, PartialEq, Hash)]
#[non_exhaustive]
#[derive(Serialize)]
pub struct BridgeConfigBuilder {}
impl<'de> Deserialize<'de> for BridgeConfigBuilder {
fn deserialize<D>(_: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(BridgeConfigBuilder {})
}
}
impl BridgeConfigBuilder {
pub fn build(&self) -> Result<BridgeConfig, ConfigBuildError> {
Err(ConfigBuildError::Invalid {
field: "(bridge)".into(),
problem: BridgeParseError::BridgesNotSupported.to_string(),
})
}
}
impl FromStr for BridgeConfigBuilder {
type Err = BridgeParseError;
fn from_str(_: &str) -> Result<BridgeConfigBuilder, BridgeParseError> {
Err(BridgeParseError::BridgesNotSupported)
}
}