| // 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; |
| }; |