using PepperDash.Core; using PepperDash.Essentials.Core; using System; using System.Collections.Generic; namespace PepperDash.Essentials.Devices.Common.Cameras { /// /// Interface for devices that have cameras with controls /// public interface IHasCamerasWithControls : IKeyName, IKeyed { /// /// List of cameras on the device. This should be a list of IHasCameraControls objects /// List Cameras { get; } /// /// The currently selected camera. This should be an IHasCameraControls object /// IHasCameraControls SelectedCamera { get; } /// /// Feedback that indicates the currently selected camera /// StringFeedback SelectedCameraFeedback { get; } /// /// Event that is raised when a camera is selected /// event EventHandler> CameraSelected; /// /// Selects a camera from the list of available cameras based on the provided key. /// /// void SelectCamera(string key); } }