using NTwain.Data;
using NTwain.Triplets;
using System;
using System.Collections.Generic;
namespace NTwain
{
///
/// Interface for TWAIN triplet operations.
///
public interface ITwainOperation
{
///
/// Gets the triplet operations defined for audio data group.
///
DGAudio DGAudio { get; }
///
/// Gets the triplet operations defined for control data group.
///
DGControl DGControl { get; }
///
/// Gets the triplet operations defined for image data group.
///
DGImage DGImage { get; }
///
/// Gets the direct triplet operation entry for custom values.
///
DGCustom DGCustom { get; }
///
/// Opens the data source manager. This must be the first method used
/// before using other TWAIN functions. Calls to this must be followed by when done with a TWAIN session.
///
///
ReturnCode OpenManager();
///
/// Closes the data source manager.
///
///
ReturnCode CloseManager();
///
/// Forces the stepping down of an opened source when things gets out of control.
/// Used when session state and source state become out of sync.
///
/// State of the target.
void ForceStepDown(int targetState);
///
/// Gets list of sources available in the system.
///
///
IList GetSources();
///
/// Gets the manager status. Only call this at state 2 or higher.
///
/// The session.
///
TWStatus GetStatus();
}
}