using NTwain.Data;
using System;
using System.Collections.Generic;
namespace NTwain
{
///
/// Interface for reading a TWAIN capability associated with a .
///
/// The TWAIN type of the value.
public interface IReadOnlyCapWrapper
{
///
/// Gets a value indicating whether is supported.
///
///
/// true if this capability can get values; otherwise, false.
///
bool CanGet { get; }
///
/// Gets a value indicating whether is supported.
///
///
/// true if this capability can get default value; otherwise, false.
///
bool CanGetCurrent { get; }
///
/// Gets a value indicating whether is supported.
///
///
/// true if this capability can get current value; otherwise, false.
///
bool CanGetDefault { get; }
///
/// Gets a value indicating whether is supported.
///
///
/// true if this capability can get help; otherwise, false.
///
bool CanGetHelp { get; }
///
/// Gets a value indicating whether is supported.
///
///
/// true if this capability can get label; otherwise, false.
///
bool CanGetLabel { get; }
///
/// Gets a value indicating whether is supported.
///
///
/// true if this capability can get label enum; otherwise, false.
///
bool CanGetLabelEnum { get; }
///
/// Gets a value indicating whether is supported.
///
///
/// true if this capability can reset; otherwise, false.
///
bool CanReset { get; }
///
/// Gets a value indicating whether is supported.
///
///
/// true if this capability can set; otherwise, false.
///
bool CanSet { get; }
///
/// Gets a value indicating whether is supported.
///
///
/// true if this capability can set constraint; otherwise, false.
///
bool CanSetConstraint { get; }
///
/// Gets the capability.
///
///
/// The capability.
///
CapabilityId Capability { get; }
///
/// Gets all the possible values of this capability.
///
///
IList Get();
///
/// Gets the current value of this capability.
///
///
TValue GetCurrent();
///
/// Gets the default value of this capability.
///
///
TValue GetDefault();
///
/// [Experimental] Gets the help value of this capability.
///
///
string GetHelp();
///
/// [Experimental] Gets the label value of this capability.
///
///
string GetLabel();
///
/// [Experimental] Gets the display names for possible values of this capability.
///
///
IList GetLabelEnum();
///
/// Gets a value indicating whether this capability is supported.
///
///
/// true if this capability is supported; otherwise, false.
///
bool IsSupported { get; }
///
/// Gets the supported actions.
///
///
/// The supported actions.
///
QuerySupports SupportedActions { get; }
}
///
/// Interface for reading/writing a TWAIN capability associated with a .
///
/// The TWAIN type of the value.
public interface ICapWrapper : IReadOnlyCapWrapper
{
///
/// Resets the current value to power-on default.
///
///
ReturnCode Reset();
///
/// Simplified version that sets the current value of this capability.
///
/// The value.
///
ReturnCode Set(TValue value);///
///
/// A version of Set that uses an array.
///
/// The value.
///
ReturnCode Set(TWArray value);
///
/// A version of Set that uses an enumeration.
///
/// The value.
///
ReturnCode Set(TWEnumeration value);
///
/// Sets the constraint value of this capability.
///
/// The value.
///
ReturnCode SetConstraint(TWOneValue value);
///
/// Sets the constraint value of this capability.
///
/// The value.
///
ReturnCode SetConstraint(TWEnumeration value);
///
/// Sets the constraint value of this capability.
///
/// The value.
///
ReturnCode SetConstraint(TWRange value);
}
}