Hid some more triplets.

This commit is contained in:
soukoku
2014-05-22 21:05:28 -04:00
parent 5d1b0aa06f
commit 407a529268
8 changed files with 190 additions and 146 deletions

View File

@@ -16,9 +16,21 @@ namespace NTwain
/// </summary>
public partial class TwainSource : INotifyPropertyChanged
{
static readonly Dictionary<string, TwainSource> __globalInstances = new Dictionary<string, TwainSource>();
internal static TwainSource GetInstance(ITwainSessionInternal session, TWIdentity sourceId)
{
var key = string.Format("{0}|{1}", sourceId.Manufacturer, sourceId.ProductFamily, sourceId.ProductName);
if (__globalInstances.ContainsKey(key))
{
return __globalInstances[key];
}
return __globalInstances[key] = new TwainSource(session, sourceId);
}
ITwainSessionInternal _session;
internal TwainSource(ITwainSessionInternal session, TWIdentity sourceId)
private TwainSource(ITwainSessionInternal session, TWIdentity sourceId)
{
_session = session;
Identity = sourceId;
@@ -84,6 +96,18 @@ namespace NTwain
_session.DGControl.Status.GetSource(out stat);
return stat;
}
/// <summary>
/// Gets the source status. Only call this at state 4 or higher.
/// </summary>
/// <param name="session">The session.</param>
/// <returns></returns>
public TWStatusUtf8 GetStatusUtf8()
{
TWStatusUtf8 stat;
_session.DGControl.StatusUtf8.GetSource(out stat);
return stat;
}
#region properties