summaryrefslogtreecommitdiff
path: root/sound_card_init/dsm/src/datastore.rs
diff options
context:
space:
mode:
Diffstat (limited to 'sound_card_init/dsm/src/datastore.rs')
-rw-r--r--sound_card_init/dsm/src/datastore.rs72
1 files changed, 0 insertions, 72 deletions
diff --git a/sound_card_init/dsm/src/datastore.rs b/sound_card_init/dsm/src/datastore.rs
deleted file mode 100644
index f0180cc2..00000000
--- a/sound_card_init/dsm/src/datastore.rs
+++ /dev/null
@@ -1,72 +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.
-use std::fs::{remove_file, File};
-use std::io::{prelude::*, BufReader, BufWriter};
-use std::path::PathBuf;
-
-use serde::{Deserialize, Serialize};
-use sys_util::info;
-
-use crate::error::{Error, Result};
-
-/// `Datastore`, which stores and reads calibration values in yaml format.
-#[derive(Debug, Deserialize, Serialize, Copy, Clone)]
-pub enum Datastore {
- /// Indicates using values in VPD.
- UseVPD,
- DSM {
- rdc: i32,
- temp: i32,
- },
-}
-
-impl Datastore {
- /// The dir of datastore.
- pub const DATASTORE_DIR: &'static str = "/var/lib/sound_card_init";
-
- /// Creates a `Datastore` and initializes its fields from the datastore file.
- pub fn from_file(snd_card: &str, channel: usize) -> Result<Datastore> {
- let path = Self::path(snd_card, channel);
- let reader =
- BufReader::new(File::open(&path).map_err(|e| Error::FileIOFailed(path.to_owned(), e))?);
- let datastore: Datastore =
- serde_yaml::from_reader(reader).map_err(|e| Error::SerdeError(path.to_owned(), e))?;
- Ok(datastore)
- }
-
- /// Saves a `Datastore` to file.
- pub fn save(&self, snd_card: &str, channel: usize) -> Result<()> {
- let path = Self::path(snd_card, channel);
-
- let mut writer = BufWriter::new(
- File::create(&path).map_err(|e| Error::FileIOFailed(path.to_owned(), e))?,
- );
- writer
- .write(
- serde_yaml::to_string(self)
- .map_err(|e| Error::SerdeError(path.to_owned(), e))?
- .as_bytes(),
- )
- .map_err(|e| Error::FileIOFailed(path.to_owned(), e))?;
- writer
- .flush()
- .map_err(|e| Error::FileIOFailed(path.to_owned(), e))?;
- info!("update Datastore {}: {:?}", path.to_string_lossy(), self);
- Ok(())
- }
-
- /// Deletes the datastore file.
- pub fn delete(snd_card: &str, channel: usize) -> Result<()> {
- let path = Self::path(snd_card, channel);
- remove_file(&path).map_err(|e| Error::FileIOFailed(path.to_owned(), e))?;
- info!("datastore: {:#?} is deleted.", path);
- Ok(())
- }
-
- fn path(snd_card: &str, channel: usize) -> PathBuf {
- PathBuf::from(Self::DATASTORE_DIR)
- .join(snd_card)
- .join(format!("calib_{}", channel))
- }
-}