ScannerManager.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #pragma once
  2. #include <vector>
  3. #include <boost/smart_ptr.hpp>
  4. #include "identifydll_global.h"
  5. #include "basic_struct.h"
  6. using namespace std;
  7. class CSeparateThreadTwainFeeder;
  8. class SMARTEVALUATIONLOGIC_API CScannerManager
  9. {
  10. template<class T> friend class boost::shared_ptr;
  11. template<class T> friend inline void boost::checked_delete(T *);
  12. private:
  13. CScannerManager();
  14. ~CScannerManager();
  15. public:
  16. /************************************************************************/
  17. /* 获取扫描仪列表 (返回获取到信息的条数) */
  18. /************************************************************************/
  19. int GetScannerList(vector<SCANNER_INFO> & scannerList);
  20. /************************************************************************/
  21. /* 获取默认扫描仪信息(成功返回1 失败返回0) */
  22. /************************************************************************/
  23. int GetDefaultScannerInfo(SCANNER_INFO &scannerInfo);
  24. /************************************************************************/
  25. /* 选择/改变选中的扫描仪(成功返回1 失败返回0) */
  26. /************************************************************************/
  27. int ConnectScanner(const int nIndex);
  28. /************************************************************************/
  29. /* 显示扫描仪设置 (成功返回1 失败返回0) */
  30. /************************************************************************/
  31. int ShowScannerSetting(const unsigned int nId);
  32. /************************************************************************/
  33. /* 断开连接选中的扫描仪 (成功返回1 失败返回0) */
  34. /************************************************************************/
  35. int DisconnectScanner();
  36. private:
  37. /**/
  38. boost::shared_ptr<CSeparateThreadTwainFeeder> twainManager;
  39. };