import 'package:equatable/equatable.dart';

abstract class CameraEvent extends Equatable {
  const CameraEvent();

  @override
  List<Object?> get props => [];
}

/// Select a camera for viewing/control
class SelectCamera extends CameraEvent {
  final int cameraId;

  const SelectCamera(this.cameraId);

  @override
  List<Object?> get props => [cameraId];
}

/// Connect selected camera to a monitor
class ConnectCameraToMonitor extends CameraEvent {
  final int cameraId;
  final int monitorId;

  const ConnectCameraToMonitor({
    required this.cameraId,
    required this.monitorId,
  });

  @override
  List<Object?> get props => [cameraId, monitorId];
}

/// Clear selection
class ClearCameraSelection extends CameraEvent {
  const ClearCameraSelection();
}
