namespace Inspectron.Camera
{
    /// <summary>
    /// Interface specifying the capabilities of the camera
    /// </summary>
    public interface ICameraCapabilities
    {
        /// <summary>
        ///  Indicates that handle synchronous acquisition. (see ICamera Grab method)
        /// </summary>
        bool CanGrabSingle { get; }
        /// <summary>
        ///  Indicates that handle live asynchronous acquisition. Images are transmitted the ImageGrabbed Event. (see ICamera StartLive / StopLive methods)
        /// </summary>
        bool CanGrabContinuous { get; }
        /// <summary>
        /// Indicates that the camera can save and load the current parameter set to a file
        /// </summary>
        bool CanSaveParametersToFile { get; }
        /// <summary>
        /// Indicates that the camera can save the current parameter set to memory
        /// </summary>
        bool CanSaveParametersToDevice { get; }
    }
}