wlancfg_lib/access_point/
types.rs

1// Copyright 2020 The Fuchsia Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5use fidl_fuchsia_wlan_policy as fidl_policy;
6
7pub type NetworkIdentifier = crate::config_management::network_config::NetworkIdentifier;
8pub type SecurityType = crate::config_management::network_config::SecurityType;
9pub use ieee80211::Ssid;
10
11#[derive(Clone, Copy, Debug, PartialEq)]
12pub enum OperatingState {
13    Failed,
14    Starting,
15    Active,
16}
17
18#[derive(Clone, Copy, Debug, PartialEq)]
19pub enum ConnectivityMode {
20    LocalOnly,
21    Unrestricted,
22}
23
24#[derive(Clone, Copy, Debug, PartialEq)]
25pub enum OperatingBand {
26    Any,
27    Only24Ghz,
28    Only5Ghz,
29}
30
31impl From<OperatingState> for fidl_policy::OperatingState {
32    fn from(state: OperatingState) -> Self {
33        match state {
34            OperatingState::Failed => fidl_policy::OperatingState::Failed,
35            OperatingState::Starting => fidl_policy::OperatingState::Starting,
36            OperatingState::Active => fidl_policy::OperatingState::Active,
37        }
38    }
39}
40
41impl From<ConnectivityMode> for fidl_policy::ConnectivityMode {
42    fn from(mode: ConnectivityMode) -> Self {
43        match mode {
44            ConnectivityMode::LocalOnly => fidl_policy::ConnectivityMode::LocalOnly,
45            ConnectivityMode::Unrestricted => fidl_policy::ConnectivityMode::Unrestricted,
46        }
47    }
48}
49
50impl From<OperatingBand> for fidl_policy::OperatingBand {
51    fn from(band: OperatingBand) -> Self {
52        match band {
53            OperatingBand::Any => fidl_policy::OperatingBand::Any,
54            OperatingBand::Only24Ghz => fidl_policy::OperatingBand::Only24Ghz,
55            OperatingBand::Only5Ghz => fidl_policy::OperatingBand::Only5Ghz,
56        }
57    }
58}
59
60impl From<fidl_policy::OperatingState> for OperatingState {
61    fn from(state: fidl_policy::OperatingState) -> Self {
62        match state {
63            fidl_policy::OperatingState::Failed => OperatingState::Failed,
64            fidl_policy::OperatingState::Starting => OperatingState::Starting,
65            fidl_policy::OperatingState::Active => OperatingState::Active,
66        }
67    }
68}
69
70impl From<fidl_policy::ConnectivityMode> for ConnectivityMode {
71    fn from(mode: fidl_policy::ConnectivityMode) -> Self {
72        match mode {
73            fidl_policy::ConnectivityMode::LocalOnly => ConnectivityMode::LocalOnly,
74            fidl_policy::ConnectivityMode::Unrestricted => ConnectivityMode::Unrestricted,
75        }
76    }
77}
78
79impl From<fidl_policy::OperatingBand> for OperatingBand {
80    fn from(band: fidl_policy::OperatingBand) -> Self {
81        match band {
82            fidl_policy::OperatingBand::Any => OperatingBand::Any,
83            fidl_policy::OperatingBand::Only24Ghz => OperatingBand::Only24Ghz,
84            fidl_policy::OperatingBand::Only5Ghz => OperatingBand::Only5Ghz,
85        }
86    }
87}