blob: 50e6d6e333b1006b064c6352df46698ff36c78e8 [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.
library fuchsia.settings;
/// Settings related to the general system.
///
/// Supported SettingsEpitaph enums:
/// REQUEST_NOT_SUPPORTED, INTERNAL_SERVICE_ERROR, PERSISTENT_STORAGE_ERROR
[Discoverable]
protocol System {
/// DEPRECATED: new watches should use Watch2.
[Transitional = "Deprecated in favor of Watch2"]
Watch() -> (SystemSettings settings) error Error;
/// Gets the current [SystemSettings]. Returns immediately on first call;
/// subsequent calls return when the value changes.
///
/// If this call fails, it is considered a fatal error and the channel
/// will be closed.
[Transitional = "Replacement for Watch"]
Watch2() -> (SystemSettings settings);
/// Changes the settings specified in [SystemSettings]. Any field not set in the table will
/// not perform any system operation.
Set(SystemSettings settings) -> () error Error;
};
/// Settings related to the general system.
table SystemSettings {
/// If set, indicates a login behavior specified at runtime.
1: LoginOverride mode;
};
/// What preferred login behavior has been set.
enum LoginOverride {
/// No override has been set.
NONE = 1;
/// Do not require an account and login always as guest.
AUTOLOGIN_GUEST = 2;
/// Requires a provisioned account through auth provider.
AUTH_PROVIDER = 3;
};