diff options
Diffstat (limited to 'sound_card_init/utils')
-rw-r--r-- | sound_card_init/utils/Cargo.lock | 109 | ||||
-rw-r--r-- | sound_card_init/utils/Cargo.toml | 11 | ||||
-rw-r--r-- | sound_card_init/utils/src/error.rs | 39 | ||||
-rw-r--r-- | sound_card_init/utils/src/lib.rs | 87 |
4 files changed, 0 insertions, 246 deletions
diff --git a/sound_card_init/utils/Cargo.lock b/sound_card_init/utils/Cargo.lock deleted file mode 100644 index fd53fb0f..00000000 --- a/sound_card_init/utils/Cargo.lock +++ /dev/null @@ -1,109 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -[[package]] -name = "dtoa" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134951f4028bdadb9b84baf4232681efbf277da25144b9b0ad65df75946c422b" - -[[package]] -name = "linked-hash-map" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dd5a6d5999d9907cda8ed67bbd137d3af8085216c2ac62de5be860bd41f304a" - -[[package]] -name = "proc-macro2" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71" -dependencies = [ - "unicode-xid", -] - -[[package]] -name = "quote" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "remain" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ba1e78fa68412cb93ef642fd4d20b9a941be49ee9333875ebaf13112673ea7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde" -version = "1.0.116" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96fe57af81d28386a513cbc6858332abc6117cfdb5999647c6444b8f43a370a5" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.116" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f630a6370fd8e457873b4bd2ffdae75408bc291ba72be773772a4c2a065d9ae8" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_yaml" -version = "0.8.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3e2dd40a7cdc18ca80db804b7f461a39bb721160a85c9a1fa30134bf3c02a5" -dependencies = [ - "dtoa", - "linked-hash-map", - "serde", - "yaml-rust", -] - -[[package]] -name = "syn" -version = "1.0.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e03e57e4fcbfe7749842d53e24ccb9aa12b7252dbe5e91d2acad31834c8b8fdd" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - -[[package]] -name = "unicode-xid" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" - -[[package]] -name = "utils" -version = "0.1.0" -dependencies = [ - "remain", - "serde", - "serde_yaml", -] - -[[package]] -name = "yaml-rust" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39f0c922f1a334134dc2f7a8b67dc5d25f0735263feec974345ff706bcf20b0d" -dependencies = [ - "linked-hash-map", -] diff --git a/sound_card_init/utils/Cargo.toml b/sound_card_init/utils/Cargo.toml deleted file mode 100644 index 8c688de3..00000000 --- a/sound_card_init/utils/Cargo.toml +++ /dev/null @@ -1,11 +0,0 @@ -[package] -name = "utils" -version = "0.1.0" -authors = ["The Chromium OS Authors"] -edition = "2018" -description = "Utils for sound_card_init" - -[dependencies] -remain = "0.2.1" -serde = { version = "1.0", features = ["derive"]} -serde_yaml = "0.8.11" diff --git a/sound_card_init/utils/src/error.rs b/sound_card_init/utils/src/error.rs deleted file mode 100644 index 93d53b9b..00000000 --- a/sound_card_init/utils/src/error.rs +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2020 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -//! This mod contains all possible errors that can occur within utils. -use std::fmt; -use std::io; -use std::time; -use std::{error, path::PathBuf}; - -use remain::sorted; - -/// Alias for a `Result` with the error type `utils::Error`. -pub type Result<T> = std::result::Result<T, Error>; - -/// This type represents all possible errors that can occur within utils. -#[sorted] -#[derive(Debug)] -pub enum Error { - /// It wraps file path with the io::Error. - FileIOFailed(PathBuf, io::Error), - /// It wraps file path with the serde_yaml::Error. - SerdeError(PathBuf, serde_yaml::Error), - /// It wraps time::SystemTimeError. - SystemTimeError(time::SystemTimeError), -} - -impl error::Error for Error {} - -impl fmt::Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - use Error::*; - match self { - FileIOFailed(file, e) => write!(f, "{:?}: {}", file, e), - SerdeError(file, e) => write!(f, "{:?}: {}", file, e), - SystemTimeError(e) => write!(f, "{}", e), - } - } -} diff --git a/sound_card_init/utils/src/lib.rs b/sound_card_init/utils/src/lib.rs deleted file mode 100644 index e8edce77..00000000 --- a/sound_card_init/utils/src/lib.rs +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright 2020 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -//! It contains common utils shared within sound_card_init. -#![deny(missing_docs)] - -//! The error definitions for utils. -pub mod error; - -use std::fs::File; -use std::io::{prelude::*, BufReader, BufWriter}; -use std::path::PathBuf; -use std::time::Duration; - -use crate::error::{Error, Result}; - -/// The path of datastore. -pub const DATASTORE_DIR: &str = "/var/lib/sound_card_init"; - -fn duration_from_file(path: &PathBuf) -> Result<Duration> { - let reader = - BufReader::new(File::open(&path).map_err(|e| Error::FileIOFailed(path.clone(), e))?); - serde_yaml::from_reader(reader).map_err(|e| Error::SerdeError(path.clone(), e)) -} - -/// The utils to parse CRAS shutdown time file. -pub mod shutdown_time { - use super::*; - // The path of CRAS shutdown time file. - const SHUTDOWN_TIME_FILE: &str = "/var/lib/cras/stop"; - - /// Reads the unix time from CRAS shutdown time file. - pub fn from_file() -> Result<Duration> { - duration_from_file(&PathBuf::from(SHUTDOWN_TIME_FILE)) - } -} - -/// The utils to create and parse sound_card_init run time file. -pub mod run_time { - use std::time::SystemTime; - - use super::*; - // The filename of sound_card_init run time file. - const RUN_TIME_FILE: &str = "run"; - - /// Returns the sound_card_init run time file existence. - pub fn exists(snd_card: &str) -> bool { - run_time_file(snd_card).exists() - } - - /// Reads the unix time from sound_card_init run time file. - pub fn from_file(snd_card: &str) -> Result<Duration> { - duration_from_file(&run_time_file(snd_card)) - } - - /// Saves the current unix time to sound_card_init run time file. - pub fn now_to_file(snd_card: &str) -> Result<()> { - match SystemTime::now().duration_since(SystemTime::UNIX_EPOCH) { - Ok(t) => to_file(snd_card, t), - Err(e) => Err(Error::SystemTimeError(e)), - } - } - - /// Saves the unix time to sound_card_init run time file. - pub fn to_file(snd_card: &str, duration: Duration) -> Result<()> { - let path = run_time_file(snd_card); - let mut writer = - BufWriter::new(File::create(&path).map_err(|e| Error::FileIOFailed(path.clone(), e))?); - writer - .write_all( - serde_yaml::to_string(&duration) - .map_err(|e| Error::SerdeError(path.clone(), e))? - .as_bytes(), - ) - .map_err(|e| Error::FileIOFailed(path.clone(), e))?; - writer - .flush() - .map_err(|e| Error::FileIOFailed(path.clone(), e))?; - Ok(()) - } - - fn run_time_file(snd_card: &str) -> PathBuf { - PathBuf::from(DATASTORE_DIR) - .join(snd_card) - .join(RUN_TIME_FILE) - } -} |