blob: d1a936192ede9884d52fc05b54174792db006a3e [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;
[Discoverable]
protocol Privacy {
/// Notifies of a change in privacy 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.
Watch() -> (PrivacySettings settings) error Error;
/// Sets the privacy settings.
///
/// Any field not explicitly set in `settings` performs a no-op, and will not make any changes.
Set(PrivacySettings settings) -> () error Error;
};
table PrivacySettings {
/// Reflects the user consent to have their user data shared with the product owner, e.g., for
/// metrics collection and crash reporting.
1: bool user_data_sharing_consent;
};