blob: ddb938bfde52a6f9face8794874ddae75932229e [file] [log] [blame]
// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/// An interface for classes that watch the progress of an Engine and report it
/// to the user.
///
/// A reporter should subscribe to the Engine's events as soon as it's created.
abstract class Reporter {
/// Pauses the reporter's output.
///
/// Subclasses should buffer any events from the engine while they're paused.
/// They should also ensure that this does nothing if the reporter is already
/// paused.
void pause();
/// Resumes the reporter's output after being [paused].
///
/// Subclasses should ensure that this does nothing if the reporter isn't
/// paused.
void resume();
/// Cancels the reporter's output.
void cancel();
}