// 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.feedback;

/// Provides the device's feedback ID.
///
/// The feedback ID is a persisted UUID used to group feedback reports. The ID
/// is not intended to be used for any reporting purposes other than feedback,
/// e.g., not intended to be used for telemetry.
@discoverable
closed protocol DeviceIdProvider {
    /// Returns the device's feedback ID.
    ///
    /// This method follows the hanging-get pattern and won't return a value until the ID since the
    /// last call has changed.
    strict GetId() -> (struct {
        feedback_id string:64;
    });
};
