Files
GameTime/lib/application/watch_companion_use_cases.dart

21 lines
623 B
Dart

import 'package:watch_bridge_contract/watch_bridge_contract.dart';
abstract interface class WatchCommandIngress {
Future<WatchCommandAck> dispatch(WatchCommandEnvelope command);
}
abstract interface class WatchProjectionPublisher {
Future<void> publish(WatchSessionProjection projection);
}
abstract interface class WatchProjectionSource {
Stream<WatchSessionProjection> get projections;
Future<WatchSessionProjection> currentProjection();
Future<WatchSessionProjection> emitCurrentProjection();
}
abstract interface class WatchCompanionUseCases
implements WatchCommandIngress, WatchProjectionSource {}