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

/// FakeCrashReporterQuerier provides a way to query a fake crash reporter component to ensure that
/// crash reports are being filed as expected.
[Discoverable]
protocol FakeCrashReporterQuerier {
    /// Returns the number of reports that have been filed with the fake crash reporter ever.
    ///
    /// This method follows the hanging-get pattern and won't return a value until the number of
    /// reports filed since the last call has changed.
    WatchFile() -> (uint64 num_filed);
};
