using NTwain.Data; using System; using System.Collections.Generic; namespace NTwain { /// /// Represents a TWAIN data source. /// public interface IDataSource : ICapControl { /// /// Gets the source's product name. /// /// /// The name. /// string Name { get; } /// /// Gets the supported data group. /// /// /// The data group. /// DataGroups DataGroup { get; } /// /// Gets the source's manufacturer name. /// /// /// The manufacturer. /// string Manufacturer { get; } /// /// Gets the source's product family. /// /// /// The product family. /// string ProductFamily { get; } /// /// Gets the supported TWAIN protocol version. /// /// /// The protocol version. /// Version ProtocolVersion { get; } /// /// Gets the supported caps for this source. /// /// /// The supported caps. /// IList SupportedCaps { get; } /// /// Gets the source's version information. /// /// /// The version. /// TWVersion Version { get; } /// /// Gets a value indicating whether this data source has been opened. /// /// /// true if this data source is open; otherwise, false. /// bool IsOpen { get; } /// /// Opens the source for capability negotiation. /// /// ReturnCode Open(); /// /// Closes the source. /// /// ReturnCode Close(); /// /// Enables the source to start transferring. /// /// The mode. /// if set to true any driver UI will display as modal. /// The window handle if modal. /// ReturnCode Enable(SourceEnableMode mode, bool modal, IntPtr windowHandle); /// /// Gets the source status. Only call this at state 4 or higher. /// /// TWStatus GetStatus(); /// /// Gets the source status. Only call this at state 4 or higher. /// /// TWStatusUtf8 GetStatusUtf8(); } }