blob: c5fed425ac44f6c0578c7d1d5d2b8a61953341c3 [file] [log] [blame]
// Copyright 2023 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
use camino::Utf8PathBuf;
use serde::{Deserialize, Serialize};
#[derive(Debug, Default, Deserialize, Serialize, PartialEq)]
#[serde(deny_unknown_fields)]
pub enum ICUType {
/// Use assembly to define the setui config. Use the unflavored setui
/// package, compiled without regard to a specific ICU version.
#[serde(rename = "without_icu")]
Unflavored,
/// Use assembly to define the setui config. Use the ICU flavored setui
/// package, compiled with the specific ICU commit ID.
#[serde(rename = "with_icu")]
#[default]
Flavored,
}
/// Platform configuration options for the input area.
#[derive(Debug, Default, Deserialize, Serialize, PartialEq)]
#[serde(deny_unknown_fields)]
pub struct SetUiConfig {
/// If set, the setui config is added to the product configuration.
#[serde(default)]
pub use_icu: ICUType,
/// If set, uses the setui configured with camera settings. Else uses
/// setui without camera.
#[serde(default)]
pub with_camera: bool,
#[serde(default)]
pub display: Option<Utf8PathBuf>,
#[serde(default)]
pub interface: Option<Utf8PathBuf>,
#[serde(default)]
pub light_sensor: Option<Utf8PathBuf>,
#[serde(default)]
pub agent: Option<Utf8PathBuf>,
}