blob: 2f77ce9ec636e995c1527beddde8935170c231f4 [file] [log] [blame]
// Copyright 2020 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.
library fuchsia.settings;
/// Settings related to factory reset.
@discoverable
protocol FactoryReset {
/// Notifies of a change in information about the factory reset settings.
///
/// On a given connection, the first call will return the current `settings`
/// value while subsequent calls will only return the new `settings` value
/// upon a value change. This follows the hanging get pattern.
///
/// If this call fails, it is considered a fatal error and the channel will
/// be closed.
Watch() -> (struct {
settings FactoryResetSettings;
});
/// Sets factory reset settings. Any field not explicitly set in the table
/// performs a no-op, and will not make any changes.
Set(struct {
settings FactoryResetSettings;
}) -> (struct {}) error Error;
};
/// Information about the factory reset settings.
type FactoryResetSettings = table {
/// When set to true, a user is able to physically perform a factory reset.
/// When false, that functionality is disabled.
1: is_local_reset_allowed bool;
};