Skip to main content

settings_setup/
types.rs

1// Copyright 2021 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 bitflags::bitflags;
6use serde::{Deserialize, Serialize};
7use settings_common::inspect::event::Nameable;
8
9#[derive(PartialEq, Default, Debug, Clone, Copy, Deserialize, Serialize)]
10pub struct SetupInfo {
11    pub configuration_interfaces: ConfigurationInterfaceFlags,
12}
13
14impl Nameable for SetupInfo {
15    const NAME: &'static str = "setup";
16}
17
18bitflags! {
19    #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
20    pub struct ConfigurationInterfaceFlags: u32 {
21        const ETHERNET = 1 << 0;
22        const WIFI = 1 << 1;
23        const DEFAULT = Self::WIFI.bits();
24    }
25}
26
27impl Default for ConfigurationInterfaceFlags {
28    fn default() -> Self {
29        Self::DEFAULT
30    }
31}
32
33bitflags_serde_legacy::impl_traits!(ConfigurationInterfaceFlags);
34
35#[derive(Debug, PartialEq, Copy, Clone)]
36pub struct SetConfigurationInterfacesParams {
37    pub config_interfaces_flags: ConfigurationInterfaceFlags,
38    // Set true to reboot the device, otherwise, set it as false.
39    pub should_reboot: bool,
40}