hspscanner_impl.cpp 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. #include<cstring>
  2. #include <cstdio>
  3. #include "hspscanner_impl.h"
  4. #include "hspscanner_httpans.h"
  5. #include "stdlib.h"
  6. #include "log4vendor.h"
  7. HSPSClassImpl::HSPSClassImpl()
  8. :m_mode(0)
  9. {
  10. }
  11. HSPSClassImpl::~HSPSClassImpl()
  12. {
  13. }
  14. ErrorCodeEnum HSPSClassImpl::GetDevCategory(DevCategoryInfo &devCategory)
  15. {
  16. ErrorCodeEnum err = Error_Succeed;
  17. SimulatorDevCategoryAns ans;
  18. err = SimulatorHttpFunction(EntityName, "GetDevCategory", ans);
  19. LOG4VTM(INFO, "GetDevCategory err = " << err);
  20. strcpy(devCategory.szType, ans.szType.c_str());
  21. strcpy(devCategory.szModel, ans.szModel.c_str());
  22. strcpy(devCategory.szVendor, ans.szVendor.c_str());
  23. devCategory.eState = (DevStateEnum)ans.eState;
  24. devCategory.version.wMajor = ans.version.wMajor;
  25. devCategory.version.wMinor = ans.version.wMinor;
  26. devCategory.version.wRevision = ans.version.wRevision;
  27. devCategory.version.wBuild = ans.version.wBuild;
  28. return err;
  29. }
  30. ErrorCodeEnum HSPSClassImpl::Reset()
  31. {
  32. ErrorCodeEnum err = Error_Succeed;
  33. SimulatorCommonAns ans;
  34. err = SimulatorHttpFunction(EntityName, "Reset", ans);
  35. LOG4VTM(INFO, "Reset err = " << err);
  36. return err;
  37. }
  38. ErrorCodeEnum HSPSClassImpl::DevClose()
  39. {
  40. ErrorCodeEnum err = Error_Succeed;
  41. SimulatorCommonAns ans;
  42. err = SimulatorHttpFunction(EntityName, "DevClose", ans);
  43. LOG4VTM(INFO, "DevClose err = " << err);
  44. return err;
  45. }
  46. ErrorCodeEnum HSPSClassImpl::GetLastErr(DevErrorInfo &devErrInfo)
  47. {
  48. ErrorCodeEnum err = Error_Succeed;
  49. SimulatorDevErrInfoAns ans;
  50. err = SimulatorHttpFunction(EntityName, "GetLastErr", ans);
  51. LOG4VTM(INFO, "GetLastErr err = " << err);
  52. devErrInfo.dwErrMsgLen = ans.dwErrMsgLen;
  53. strcpy(devErrInfo.szErrMsg, ans.szErrMsg.c_str());
  54. return err;
  55. }
  56. DEVICEBASE_API ErrorCodeEnum CreateDevComponent(DeviceBaseClass *&baseObj)
  57. {
  58. baseObj = new HSPSClassImpl();
  59. if(baseObj == NULL) {
  60. return Error_Resource;
  61. }
  62. else
  63. {
  64. cmb::log_init_config config;
  65. config.dev_name = "vendor_HSPScanner";
  66. #ifdef _MSC_VER
  67. config.log_dir = ("D:\\rvc\\dbg\\");
  68. #else
  69. config.log_dir = ("/opt/rvc/dbg/");
  70. #endif
  71. std::string str;
  72. cmb::log4vendor::init(config, str);
  73. printf("init after: %s\n", str.c_str());
  74. return Error_Succeed;
  75. }
  76. }
  77. DEVICEBASE_API ErrorCodeEnum ReleaseDevComponent(DeviceBaseClass *&pBaseObj)
  78. {
  79. if(pBaseObj == NULL) {
  80. return Error_Param;
  81. }
  82. if(HSPSClassImpl* pTmp = dynamic_cast<HSPSClassImpl*>(pBaseObj))
  83. {
  84. delete pTmp;
  85. pTmp = NULL;
  86. return Error_Succeed;
  87. }
  88. return Error_Param;
  89. }
  90. #ifdef NEWER_COMPILER_WORKAROUNDS
  91. DEVICEBASE_API ErrorCodeEnum GetDevAdapterVersion(DevSoftVersion& retVesion)
  92. {
  93. retVesion.wMajor = retVesion.wMinor = retVesion.wBuild = retVesion.wRevision = 0;
  94. return Error_Succeed;
  95. }
  96. #endif // NEWER_COMPILER_WORKAROUNDS
  97. ErrorCodeEnum HSPSClassImpl::DevOpen()
  98. {
  99. ErrorCodeEnum err = Error_Succeed;
  100. SimulatorCommonAns ans;
  101. err = SimulatorHttpFunction(EntityName, "DevOpen", ans);
  102. LOG4VTM(INFO, "DevOpen err = " << err);
  103. return err;
  104. }
  105. ErrorCodeEnum HSPSClassImpl::SetParam(ParamType type, ParamTypeValue value)
  106. {
  107. ErrorCodeEnum err = Error_Succeed;
  108. SimulatorCommonAns ans;
  109. err = SimulatorHttpFunction(EntityName, "SetParam", ans);
  110. LOG4VTM(INFO, "SetParam err = " << err);
  111. return err;
  112. }
  113. ErrorCodeEnum HSPSClassImpl::SetPreview(short nValue)
  114. {
  115. ErrorCodeEnum err = Error_Succeed;
  116. SimulatorCommonAns ans;
  117. err = SimulatorHttpFunction(EntityName, "SetPreview", ans);
  118. LOG4VTM(INFO, "SetPreview err = " << err);
  119. return err;
  120. }
  121. ErrorCodeEnum HSPSClassImpl::ScanImage(const char* pszFileName)
  122. {
  123. ErrorCodeEnum err = Error_NotImpl;
  124. SimulatorCommonAns ans;
  125. err = SimulatorHttpFunction(EntityName, "ScanImage", ans);
  126. LOG4VTM(INFO, "ScanImage err = " << err);
  127. if (err == Error_Succeed)
  128. {
  129. string srcPath = GetCurrentDirectory() + SPLIT_SLASH_STR + "HspTest.jpg";
  130. #ifdef _WIN32
  131. CopyFileA(srcPath.c_str(), pszFileName, TRUE);
  132. #else
  133. string cmdStr = "cp " + srcPath + " " + pszFileName;
  134. char buff[256] = { 0 };
  135. sprintf(buff, cmdStr.c_str());
  136. system(buff);
  137. #endif
  138. }
  139. return err;
  140. }
  141. ErrorCodeEnum HSPSClassImpl::ScanImageEx(BYTE* pBtImg, int& nBtLen, const char* pszFileName)
  142. {
  143. ErrorCodeEnum err = Error_NotImpl;
  144. ScanImageExAns ans;
  145. err = SimulatorHttpFunction(EntityName, "ScanImageEx", ans);
  146. LOG4VTM(INFO, "ScanImageEx err = " << err);
  147. if (err == Error_Succeed)
  148. {
  149. string srcPath = GetCurrentDirectory() + SPLIT_SLASH_STR + "HspTest.jpg";
  150. #ifdef _WIN32
  151. CopyFileA(srcPath.c_str(), pszFileName, TRUE);
  152. #else
  153. string cmdStr = "cp " + srcPath + " " + pszFileName;
  154. char buff[256] = { 0 };
  155. sprintf(buff, cmdStr.c_str());
  156. system(buff);
  157. #endif
  158. }
  159. nBtLen = ans.nBtLen;
  160. return err;
  161. }
  162. ErrorCodeEnum HSPSClassImpl::SetViewPos(int nX, int nY, int nWidth)
  163. {
  164. ErrorCodeEnum err = Error_NotImpl;
  165. SimulatorCommonAns ans;
  166. err = SimulatorHttpFunction(EntityName, "SetViewPos", ans);
  167. LOG4VTM(INFO, "SetViewPos err = " << err);
  168. return err;
  169. }
  170. ErrorCodeEnum HSPSClassImpl::SetProperty()
  171. {
  172. ErrorCodeEnum err = Error_NotImpl;
  173. SimulatorCommonAns ans;
  174. err = SimulatorHttpFunction(EntityName, "SetProperty", ans);
  175. LOG4VTM(INFO, "SetProperty err = " << err);
  176. return err;
  177. }
  178. ErrorCodeEnum HSPSClassImpl::GetDevStatus(HspsDevStatus& status)
  179. {
  180. ErrorCodeEnum err = Error_NotImpl;
  181. HspsDevStatusAns ans;
  182. err = SimulatorHttpFunction(EntityName, "GetDevStatus", ans);
  183. LOG4VTM(INFO, "GetDevStatus err = " << err);
  184. if (err == Error_Succeed) {
  185. status.isConnected = ans.isConnected;
  186. status.inPreview = ans.inPreview;
  187. status.inShow = ans.inShow;
  188. }
  189. return Error_Succeed;
  190. }