using NTwain.Data; using NTwain.Triplets; using System; using System.Collections.Generic; using System.Threading; namespace NTwain.Internals { interface ITwainSessionInternal : ITwainSession { /// /// Gets the app id used for the session. /// /// TWIdentity AppId { get; } MessageLoopHook MessageLoopHook { get; } /// /// Changes the state right away. /// /// The new state. /// if set to true to notify change. void ChangeState(int newState, bool notifyChange); /// /// Gets the pending state changer and tentatively changes the session state to the specified value. /// Value will only stick if committed. /// /// The new state. /// ICommittable GetPendingStateChanger(int newState); void ChangeCurrentSource(TwainSource source); ReturnCode DisableSource(); void SafeSyncableRaiseEvent(DataTransferredEventArgs e); void SafeSyncableRaiseEvent(TransferErrorEventArgs e); void SafeSyncableRaiseEvent(TransferReadyEventArgs e); ReturnCode EnableSource(SourceEnableMode mode, bool modal, IntPtr windowHandle); /// /// 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; } } }