blob: d3f943300626be5c7abae94303b0297650613297 [file] [log] [blame]
// Copyright 2019 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 failure::{format_err, Error};
use fidl_fuchsia_setui::*;
pub fn process_string_mutation(mutation: &Mutation) -> Result<Option<SettingData>, Error> {
if let Mutation::StringMutationValue(mutation_info) = mutation {
if mutation_info.operation == StringOperation::Update {
return Ok(Some(SettingData::StringValue(mutation_info.value.clone())));
}
return Ok(None);
} else {
return Err(format_err!("invalid error"));
}
}
pub fn process_account_mutation(mutation: &Mutation) -> Result<Option<SettingData>, Error> {
if let Mutation::AccountMutationValue(mutation_info) = mutation {
if let Some(operation) = mutation_info.operation {
if operation == AccountOperation::SetLoginOverride {
return Ok(Some(SettingData::Account(AccountSettings {
mode: mutation_info.login_override,
})));
}
}
return Ok(None);
} else {
return Err(format_err!("invalid error"));
}
}