/// <summary>
		/// В зависимости от настроек в App.config создает экземпляр менеджера сканнеров
		/// </summary>
		public IScannerManager GetScannerManager(WindowsMessageLoopThread messageLoop)
		{

			var scannerManagerSetting = Settings.Default.ScannerManager;
			ScannerManager scannerManager;

			try
			{
				scannerManager = (ScannerManager)Enum.Parse(typeof(ScannerManager), scannerManagerSetting, true);
			}
			catch (Exception)
			{
				scannerManager = ScannerManager.Wia;
			}

			switch (scannerManager)
			{
				case ScannerManager.Wia:
					return new WiaScannerManager();
				case ScannerManager.Twain:
					return new TwainScannerManager();
				case ScannerManager.TwainDotNet:
					return new TwainDotNetScannerManager(messageLoop);
				default:
					return new WiaScannerManager();
			}
		}
Example #2
0
        /// <summary>
        /// В зависимости от настроек в App.config создает экземпляр менеджера сканнеров
        /// </summary>
        public IScannerManager GetScannerManager(WindowsMessageLoopThread messageLoop)
        {
            var            scannerManagerSetting = Settings.Default.ScannerManager;
            ScannerManager scannerManager;

            try
            {
                scannerManager = (ScannerManager)Enum.Parse(typeof(ScannerManager), scannerManagerSetting, true);
            }
            catch (Exception)
            {
                scannerManager = ScannerManager.Wia;
            }

            switch (scannerManager)
            {
            case ScannerManager.Wia:
                return(new WiaScannerManager());

            case ScannerManager.Twain:
                return(new TwainScannerManager());

            case ScannerManager.TwainDotNet:
                return(new TwainDotNetScannerManager(messageLoop));

            default:
                return(new WiaScannerManager());
            }
        }
Example #3
0
        public TwainDotNetSource(int i, string sourceName, TwainDotNet.Twain twain, WindowsMessageLoopThread windowsMessageLoop)
        {
            Name  = sourceName;
            Index = i;
            _windowsMessageLoop = windowsMessageLoop;
            _scanCompleteEvent  = new ManualResetEvent(false);
            _twain = twain;
            _log   = LogManager.GetLogger(typeof(TwainDotNetSource));

            _log.Debug(string.Format("Created TWAIN name={0}, index={1}", sourceName, i));
        }
		public TwainDotNetSource(int i, string sourceName, TwainDotNet.Twain twain, WindowsMessageLoopThread windowsMessageLoop)
		{
			Name = sourceName;
			Index = i;
			_windowsMessageLoop = windowsMessageLoop;
			_scanCompleteEvent = new ManualResetEvent(false);
			_twain = twain;
			_log = LogManager.GetLogger(typeof (TwainDotNetSource));

			_log.Debug(string.Format("Created TWAIN name={0}, index={1}", sourceName, i));
		}
		public TwainDotNetScannerManager(WindowsMessageLoopThread windowsMessageLoop)
		{
			_windowsMessageLoop = windowsMessageLoop;
			_sources = new List<TwainDotNetSource>();
			_log = LogManager.GetLogger(typeof(TwainDotNetScannerManager));

			var init = new Init(Initialize);
			_twain = _windowsMessageLoop.Invoke<TwainDotNet.Twain>(init, new object[] { _windowsMessageLoop.Hwnd });

			_log.Info("TwainDotNet scanner manager is used");

			RefreshSources();
		}
        public TwainDotNetScannerManager(WindowsMessageLoopThread windowsMessageLoop)
        {
            _windowsMessageLoop = windowsMessageLoop;
            _sources            = new List <TwainDotNetSource>();
            _log = LogManager.GetLogger(typeof(TwainDotNetScannerManager));

            var init = new Init(Initialize);

            _twain = _windowsMessageLoop.Invoke <TwainDotNet.Twain>(init, new object[] { _windowsMessageLoop.Hwnd });

            _log.Info("TwainDotNet scanner manager is used");

            RefreshSources();
        }
Example #7
0
		protected override void OnStart(string[] args)
		{
			_logger.InfoFormat("Start service on port: {0}", _port);
			_messageLoop = new WindowsMessageLoopThread();
			var smFactory = new ScannerManagerFactory();
			try
			{
				_scannerManager = smFactory.GetScannerManager(_messageLoop);
			}
			catch (Exception e)
			{
				_logger.ErrorFormat(e.ToString());
			}
			StartServer();
			var sdf = new Thread(() => _logger.InfoFormat("Http server started"));
			sdf.Start();
		}
Example #8
0
		public void Start()
		{
		
			_messageLoop = new WindowsMessageLoopThread();
			var smFactory = new ScannerManagerFactory();
			try
			{
				_scannerManager = smFactory.GetScannerManager(_messageLoop);
			}
			catch (Exception e)
			{
				_logger.ErrorFormat(e.ToString());
			}
			StartServer();
		}