DIOS.Dev.FPDDeviceMould.hpp 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466
  1. #pragma once
  2. #include <string>
  3. #include "ResDataObject.h"
  4. #include "Detector_Model_Def.h"
  5. #include "DIOS.Dev.IODevice.hpp"
  6. #include "DIOS.Dev.IODevice.Detail.hpp"
  7. #include "BatteryMould.hpp"
  8. #include "TemperatureMould.hpp"
  9. #include "WifiMould.hpp"
  10. #ifdef DIOSDEVFPDDEVICEMOULD_EXPORTS
  11. #define _DIOSDEVFPDDEVICEMOULD_API __declspec(dllexport)
  12. #else
  13. #define _DIOSDEVFPDDEVICEMOULD_API __declspec(dllimport)
  14. #endif
  15. namespace DIOS::Dev::Detail::Detector
  16. {
  17. static const char* DetectorDriverType = "{18CAB88A-C61C-4BB2-AC28-184FDD4FD160}";
  18. static const char* DetectorUnitType = "{A209866C-A049-4A17-B5C9-421974E59D68}";
  19. //-----------------------------------------------------------------------------
  20. // AcqUnit
  21. //-----------------------------------------------------------------------------
  22. namespace nsDev = DIOS::Dev;
  23. class _DIOSDEVFPDDEVICEMOULD_API AcqUnit : public IOLogicUnit
  24. {
  25. string m_strEcomFPDState;
  26. string m_strNoNeedWaitImage;
  27. string m_strLastImage;
  28. DWORD m_nFullWidth;
  29. DWORD m_nFullHeight;
  30. DWORD m_nPrevWidth;
  31. DWORD m_nPrevHeight;
  32. DWORD m_nBits;
  33. PVOID m_pFullImageQueue;
  34. PVOID m_pPrevImageData;
  35. protected:
  36. std::shared_ptr <DIOS::Dev::IOEventCenter> m_EventCenter;
  37. public:
  38. AcqUnit();
  39. ~AcqUnit();
  40. void OEM_IF SetEventCenter(std::shared_ptr <DIOS::Dev::IOEventCenter> EventCenter);
  41. nsDev::RET_STATUS JSSetAcqMode(std::string in, std::string & out);
  42. nsDev::RET_STATUS JSSetGainMode(std::string in, std::string & out);
  43. nsDev::RET_STATUS JSSetBinningMode(std::string in, std::string & out);
  44. nsDev::RET_STATUS JSSetZoomMode(std::string in, std::string & out);
  45. nsDev::RET_STATUS JSSetDemoImage(std::string in, std::string & out);
  46. nsDev::RET_STATUS JSGetEcomFPDState(std::string & out);
  47. bool OEM_IF SetEcomFPDState(ECOM_FPD_STATE state);
  48. nsDev::RET_STATUS JSGetNoNeedWaitImage(std::string & out);
  49. void OEM_NOTIFY SendNoNeedWaitImage(bool bflag);
  50. nsDev::RET_STATUS JSGetLastImage(std::string & out);
  51. nsDev::RET_STATUS OEM_IF AddFrameWithRawHead(IMAGE_VIEW_TYPE Type, string ImageHead, WORD* pFrameBuff, DWORD FrameSize);
  52. bool OEM_IF SetMaxBlockSize(const char *pQueName, DWORD BlockSize, DWORD FulBlockCount, DWORD PrevBlockCount);
  53. bool OEM_IF SetFulImageInfo(DWORD Height, DWORD Width, DWORD Bits, bool FetchFlag);
  54. bool OEM_IF SetPrevImageInfo(bool Support, DWORD Height, DWORD Width, bool FetchFlag);
  55. DWORD AddFrame(IMAGE_VIEW_TYPE Type, string ImageHead, WORD* pFrameBuff, DWORD FrameSize);
  56. bool OEM_IF FlipX(WORD* pData, UINT nWidth, UINT nHeight);
  57. bool OEM_IF FlipY(WORD* pData, UINT nWidth, UINT nHeight);
  58. bool OEM_IF RotateImage(WORD* imageBuffer, int nImageHeight, int nImageWidth, int nAngle);
  59. protected:
  60. virtual nsDev::RET_STATUS SetAcqMode(int mode) = 0;
  61. };
  62. //-----------------------------------------------------------------------------
  63. // SyncUnit
  64. //-----------------------------------------------------------------------------
  65. class _DIOSDEVFPDDEVICEMOULD_API SyncUnit : public IOLogicUnit
  66. {
  67. string m_strReady4EXP;
  68. string m_strXwindowStatus;
  69. protected:
  70. std::shared_ptr <DIOS::Dev::IOEventCenter> m_EventCenter;
  71. public:
  72. SyncUnit();
  73. ~SyncUnit();
  74. void OEM_IF SetEventCenter(std::shared_ptr <DIOS::Dev::IOEventCenter> EventCenter);
  75. nsDev::RET_STATUS JSSetSyncMode(std::string in, std::string & out);
  76. nsDev::RET_STATUS JSSetXwindowSize(std::string in, std::string & out);
  77. nsDev::RET_STATUS JSPrepareAcquisition(std::string in, std::string& out);
  78. nsDev::RET_STATUS JSStartAcquisition(std::string in, std::string& out);
  79. nsDev::RET_STATUS JSStopAcquisition(std::string in, std::string& out);
  80. nsDev::RET_STATUS JSGetFPDReady(std::string & out);
  81. void OEM_NOTIFY FPDReadyNotify(bool bReady);
  82. nsDev::RET_STATUS JSGetXWindowStatus(std::string & out);
  83. void OEM_NOTIFY XWindowOnNotify();
  84. void OEM_NOTIFY XWindowOffNotify();
  85. nsDev::RET_STATUS JSGetImageReadingStatus(std::string & out);
  86. void OEM_NOTIFY ImageReadingNotify();
  87. protected:
  88. virtual nsDev::RET_STATUS SetSyncMode(SYNC_MODE nSyncMode, HARDWARE_TRIGGER_MODE TriggerMode) = 0;
  89. virtual nsDev::RET_STATUS SetXwindow(float XwindowSize) = 0;
  90. virtual nsDev::RET_STATUS PrepareAcquisition() = 0;
  91. virtual nsDev::RET_STATUS StartAcquisition() = 0;
  92. virtual nsDev::RET_STATUS StopAcquisition() = 0;
  93. };
  94. //-----------------------------------------------------------------------------
  95. // CalibUnit
  96. //-----------------------------------------------------------------------------
  97. class _DIOSDEVFPDDEVICEMOULD_API CalibUnit : public IOLogicUnit
  98. {
  99. DIOS_CALIBRATION_TYPE m_CurrentCalibType;
  100. DIOS_CALIBRATION_STATUS m_CalibStatus;
  101. string m_strCalibProgress;
  102. string m_strUploadCalibrationFilesResult;
  103. protected:
  104. std::shared_ptr <DIOS::Dev::IOEventCenter> m_EventCenter;
  105. public:
  106. CalibUnit();
  107. ~CalibUnit();
  108. void OEM_IF SetEventCenter(std::shared_ptr <DIOS::Dev::IOEventCenter> EventCenter);
  109. nsDev::RET_STATUS JSActiveCalibration(std::string in, std::string & out);
  110. nsDev::RET_STATUS JSGetRequestedDose(std::string & out);
  111. nsDev::RET_STATUS JSPrepareCalibration(std::string in, std::string& out);
  112. nsDev::RET_STATUS JSStartCalibration(std::string in, std::string& out);
  113. nsDev::RET_STATUS JSStopCalibration(std::string in, std::string& out);
  114. nsDev::RET_STATUS OEM_IF PauseCalibration();
  115. nsDev::RET_STATUS JSSetSID(std::string in, std::string& out);
  116. nsDev::RET_STATUS JSSetCorrectionType(std::string in, std::string & out);
  117. nsDev::RET_STATUS JSUploadCalibrationFiles(std::string in, std::string & out);
  118. DIOS_CALIBRATION_STATUS OEM_IF GetCalibrationStatus();
  119. void OEM_IF SetCalibrationStatus(DIOS_CALIBRATION_STATUS Status);
  120. nsDev::RET_STATUS JSGetCalibStatus(std::string & out);
  121. void OEM_IF SetCalibrationProgress(DWORD progress);
  122. nsDev::RET_STATUS JSGetCalibProgress(std::string & out);
  123. DIOS_CALIBRATION_TYPE OEM_IF GetCalibrationType();
  124. nsDev::RET_STATUS JSGetUploadCalibrationFilesResult(std::string & out);
  125. void OEM_IF SetUploadCalibrationFilesResult(bool bResult);
  126. protected:
  127. virtual nsDev::RET_STATUS SetSID(int nSID) = 0;
  128. virtual nsDev::RET_STATUS ActiveCalibration(DIOS_CALIBRATION_TYPE in) = 0;
  129. virtual nsDev::RET_STATUS PrepareCalibration() = 0;
  130. virtual nsDev::RET_STATUS GetRequestedDose(float& fDose) = 0;
  131. virtual nsDev::RET_STATUS StartCalibration() = 0;
  132. virtual nsDev::RET_STATUS StopCalibration() = 0;
  133. virtual nsDev::RET_STATUS SetCorrectionType(DIOS_CORRECTION_TYPE in) = 0;
  134. virtual nsDev::RET_STATUS UploadCalibrationFiles(string strFileName) = 0;
  135. };
  136. //-----------------------------------------------------------------------------
  137. // CalibUnit
  138. //-----------------------------------------------------------------------------
  139. class _DIOSDEVFPDDEVICEMOULD_API DetectorCtrlUnit : public IOLogicUnit
  140. {
  141. DETECTOR_STATUS m_DetectorStatus;
  142. DETECTOR_SHARE_STATUS m_DetectorConnectStatus;
  143. string m_strUpdateFWStatus;
  144. string m_strInitialStatus;
  145. string m_strAttachStatus;
  146. string m_strAttachResult;
  147. string m_strShockSensor;
  148. string m_strRecoverImageState;
  149. string m_strRecoverImageEvent;
  150. string m_strFieldofViewShape;
  151. string m_strFieldofViewDimension;
  152. string m_strDetectorType;
  153. string m_strDescription;
  154. string m_strDetectorID;
  155. string m_strDateofLastDetectorCalibration;
  156. string m_strTimeofLastDetectorCalibration;
  157. string m_strDetectorConditionsNominalFlag;
  158. string m_strFPDCoef;
  159. string m_strPixelData;
  160. string m_strTargetEXI;
  161. protected:
  162. std::shared_ptr <DIOS::Dev::IOEventCenter> m_EventCenter;
  163. public:
  164. DetectorCtrlUnit();
  165. ~DetectorCtrlUnit();
  166. void OEM_IF SetEventCenter(std::shared_ptr <DIOS::Dev::IOEventCenter> EventCenter);
  167. nsDev::RET_STATUS JSRESET(std::string in, std::string& out);
  168. nsDev::RET_STATUS JSActiveDetector(std::string in, std::string & out);
  169. nsDev::RET_STATUS JSWakeupDetector(std::string in, std::string & out);
  170. nsDev::RET_STATUS JSEnterExam(std::string in, std::string & out);
  171. nsDev::RET_STATUS JSExitExam(std::string in, std::string& out);
  172. nsDev::RET_STATUS JSAttachConnect(std::string in, std::string& out);
  173. nsDev::RET_STATUS JSCancelAttach(std::string in, std::string& out);
  174. nsDev::RET_STATUS JSGetDetectorInfo(std::string in, std::string & out);
  175. nsDev::RET_STATUS JSResetConnect(std::string in, std::string& out);
  176. nsDev::RET_STATUS JSDisConnectFPD(std::string in, std::string& out);
  177. nsDev::RET_STATUS JSUpdateFirmware(std::string in, std::string& out);
  178. nsDev::RET_STATUS JSRecoverImage(std::string in, std::string & out);
  179. nsDev::RET_STATUS JSSaveSensitivity(std::string in, std::string& out);
  180. nsDev::RET_STATUS JSSetXrayOnNum(std::string in, std::string& out);
  181. nsDev::RET_STATUS JSSetExposureTimes(std::string in, std::string& out);
  182. nsDev::RET_STATUS JSGetRecoverImageState(std::string in, std::string& out);
  183. DETECTOR_STATUS OEM_IF GetDetectorStatus();
  184. nsDev::RET_STATUS OEM_IF SetDetectorStatus(DETECTOR_STATUS status);
  185. nsDev::RET_STATUS JSGetFPDStatus(std::string & out);
  186. nsDev::RET_STATUS OEM_IF SetConnectStatus(DETECTOR_SHARE_STATUS nStatus);
  187. nsDev::RET_STATUS JSGetConnectStatus(std::string & out);
  188. nsDev::RET_STATUS OEM_IF SetAttachResult(bool result, const char* DetectorType, const char* DetectorSN);
  189. nsDev::RET_STATUS JSGetAttachResult(std::string & out);
  190. nsDev::RET_STATUS OEM_IF SetAttachStatus(int nStatus);
  191. nsDev::RET_STATUS JSGetAttachStatus(std::string & out);
  192. nsDev::RET_STATUS OEM_IF SetInitialStatus(int nStatus);
  193. nsDev::RET_STATUS JSGetInitialStatus(std::string & out);
  194. nsDev::RET_STATUS OEM_IF SetUpdateFWStatus(int nStatus);
  195. nsDev::RET_STATUS JSGetUpdateFWStatus(std::string & out);
  196. nsDev::RET_STATUS OEM_IF SetShockSensorInfo(string nStatus);
  197. nsDev::RET_STATUS JSGetShockSensorInfo(std::string & out);
  198. nsDev::RET_STATUS OEM_IF SetRecoverImageState(string nStatus);
  199. nsDev::RET_STATUS JSGetRecoverImageState(std::string & out);
  200. nsDev::RET_STATUS OEM_IF SetRecoverImageEvent(int nStatus);
  201. nsDev::RET_STATUS JSGetRecoverImageEvent(std::string & out);
  202. nsDev::RET_STATUS OEM_IF SetFieldofViewShape(string nStatus);
  203. nsDev::RET_STATUS JSGetFieldofViewShape(std::string & out);
  204. nsDev::RET_STATUS OEM_IF SetFieldofViewDimension(string nStatus);
  205. nsDev::RET_STATUS JSGetFieldofViewDimension(std::string & out);
  206. nsDev::RET_STATUS OEM_IF SetDetectorType(string nStatus);
  207. nsDev::RET_STATUS JSGetDetectorType(std::string & out);
  208. nsDev::RET_STATUS OEM_IF SetDescription(string nStatus);
  209. nsDev::RET_STATUS JSGetDescription(std::string & out);
  210. nsDev::RET_STATUS OEM_IF SetDetectorID(string nStatus);
  211. nsDev::RET_STATUS JSGetDetectorID(std::string & out);
  212. nsDev::RET_STATUS OEM_IF SetDateofLastDetectorCalibration(string nStatus);
  213. nsDev::RET_STATUS JSGetDateofLastDetectorCalibration(std::string & out);
  214. nsDev::RET_STATUS OEM_IF SetTimeofLastDetectorCalibration(string nStatus);
  215. nsDev::RET_STATUS JSGetTimeofLastDetectorCalibration(std::string & out);
  216. nsDev::RET_STATUS OEM_IF SetDetectorConditionsNominalFlag(string nStatus);
  217. nsDev::RET_STATUS JSGetDetectorConditionsNominalFlag(std::string & out);
  218. nsDev::RET_STATUS OEM_IF SetFPDCoef(string nStatus);
  219. nsDev::RET_STATUS JSGetFPDCoef(std::string & out);
  220. nsDev::RET_STATUS OEM_IF SetPixelData(string nStatus);
  221. nsDev::RET_STATUS JSGetPixelData(std::string & out);
  222. nsDev::RET_STATUS OEM_IF SetTargetEXI(string nStatus);
  223. nsDev::RET_STATUS JSGetTargetEXI(std::string & out);
  224. protected:
  225. virtual nsDev::RET_STATUS ActiveDetector() = 0;
  226. virtual nsDev::RET_STATUS EnterExam(int nExamStatus) = 0;
  227. virtual nsDev::RET_STATUS GetDetectorInfo(string& strFDI) = 0;
  228. virtual nsDev::RET_STATUS RESET();
  229. virtual nsDev::RET_STATUS WakeupDetector();
  230. virtual nsDev::RET_STATUS ExitExam();
  231. virtual nsDev::RET_STATUS AttachConnect();
  232. virtual nsDev::RET_STATUS CancelAttach();
  233. virtual nsDev::RET_STATUS ResetConnect();
  234. virtual nsDev::RET_STATUS DisConnectFPD();
  235. virtual nsDev::RET_STATUS UpdateFirmware();
  236. virtual nsDev::RET_STATUS RecoverImage(bool bRecoverIt);
  237. virtual nsDev::RET_STATUS SaveSensitivity();
  238. virtual nsDev::RET_STATUS SetXrayOnNum();
  239. virtual nsDev::RET_STATUS SetExposureTimes(int nTimes);
  240. virtual nsDev::RET_STATUS GetRecoverImageState(string & strREI);
  241. };
  242. namespace ConfKey
  243. {
  244. static const char* DiosDetectorType = "DetectorVender";
  245. static const char* DiosDetectorModel = "DetectorModel";
  246. static const char* DiosDetectorConfig = "DeviceConfig";
  247. static const char* DiosDetectorAttribute = "Attribute";
  248. static const char* DiosDetectorDescription = "Description";
  249. static const char* DiosDetectorSerialNumber = "SerialNumber";
  250. static const char* DiosWiredIP = "WiredIP";
  251. static const char* DiosWirelessIP = "WirelessIP";
  252. static const char* DiosLocalIP = "LocalIP";
  253. static const char* DiosSyncType = "SyncType";
  254. static const char* DiosWorkStation = "WorkStation";
  255. static const char* DiosTempMaxLimit = "TempMaxLimit";
  256. static const char* DiosTempUpperLimit = "TempUpperLimit";
  257. static const char* DiosTempLowerLimit = "TempLowerLimit";
  258. static const char* DiosTempMinLimit = "TempMinLimit";
  259. static const char* DiosBatLowerLimit = "BatLowerLimit";
  260. static const char* DiosBatMiniLimit = "BatMiniLimit";
  261. static const char* DiosWifiLowerLimit = "WifiLowerLimit";
  262. static const char* DiosWifiMiniLimit = "WifiMiniLimit";
  263. static const char* DiosImageFullWidth = "ImageFullWidth";
  264. static const char* DiosImageFullHeight = "ImageFullHeight";
  265. static const char* DiosShowTemperature = "ShowTemperature";
  266. static const char* DiosShowWifi = "ShowWifi";
  267. static const char* DiosShowBattery = "ShowBattery";
  268. static const char* DiosShowBluetooth = "ShowBluetooth";
  269. static const char* DiosIsConnect = "IsConnect";
  270. }
  271. namespace ActionKey
  272. {
  273. //DetecorCtrl
  274. static const char* GetDetectorInfo = "GetFPDinformation";
  275. static const char* DiosActiveDetector = "ActiveDetector";
  276. static const char* RESET = "RESET";
  277. static const char* EnterExam = "EnterExam";
  278. static const char* ExitExam = "ExitExam";
  279. static const char* AttachConnect = "AttachConnect";
  280. static const char* CancelAttach = "CancelAttach";
  281. static const char* RecoverImage = "RecoverImage";
  282. static const char* ResetConnect = "ResetConnect";
  283. static const char* DisConnectFPD = "DisConnectFPD";
  284. static const char* UpdateFirmware = "UpdateFirmware";
  285. static const char* SaveSensitivity = "SaveSensitivity";
  286. //Synchronization
  287. static const char* SetAcqMode = "SetAcqMode";
  288. static const char* SetSyncMode = "SetSyncMode";
  289. static const char* SetXwindowSize = "SetXwindowSize";
  290. static const char* PrepareAcquisition = "PrepareAcquisition";
  291. static const char* StartAcquisition = "StartAcquisition";
  292. static const char* StopAcquisition = "StopAcquisition";
  293. //Calibration
  294. static const char* SetSID = "SetSID";
  295. static const char* ActiveCalibration = "ActiveCalibration";
  296. static const char* PrepareCalibration = "PrepareCalibration";
  297. static const char* StartCalibration = "StartCalibration";
  298. static const char* StopCalibration = "StopCalibration";
  299. static const char* SetCorrectionType = "SetCorrectionType";
  300. static const char* UploadCalibrationFiles = "UploadCalibrationFiles";
  301. }
  302. namespace AttrKey
  303. {
  304. //sensor status
  305. static const char* GetTemperatureValue = "GetTemperatureValue";
  306. static const char* GetRemainPowerValue = "GetRemainPowerValue";
  307. static const char* GetWifiStrengthValue = "GetWifiStrengthValue";
  308. //DetecorCtrl
  309. static const char* DetectorStatus = "DetectorStatus";
  310. static const char* DetectorConnectStatus = "DetectorConnectStatus";
  311. static const char* DetectorAttach = "DetectorAttach";
  312. static const char* DetectorAttachedFlag = "FPDAttached";
  313. static const char* DetectorInitialStatus = "DetectorInitialStatus";
  314. static const char* DetectorUpdateFWStatus = "DetectorUpdateFWStatus";
  315. static const char* FPDShockSensorInfo = "FPDShockSensorInfo";
  316. //Calibration
  317. static const char* CalibrationStatus = "CalibrationStatus";
  318. static const char* CalibrationProgress = "CalibrationProgress";
  319. static const char* UploadCalibrationFilesResult = "UploadCalibrationFilesResult";
  320. //Synchronization
  321. static const char* FPDReadyStatus = "FPDReadyStatus";
  322. static const char* XwindowStatus = "XwindowStatus";
  323. static const char* ImageReadingStatus = "ImageReadingStatus";
  324. static const char* EcomFPDState = "EcomFPDState";
  325. //Acquisition
  326. static const char* NoNeedWaitImage = "NoNeedWaitImage";
  327. static const char* ImgDataInfo = "ImgDataInfo";
  328. //DICOM
  329. static const char* DetectorType = "DetectorType";
  330. static const char* Description = "Description";
  331. static const char* DetectorID = "DetectorID";
  332. static const char* FieldofViewShape = "FieldofViewShape";
  333. static const char* FieldofViewDimension = "FieldofViewDimension";
  334. static const char* DateofLastDetectorCalibration = "DateofLastDetectorCalibration";
  335. static const char* TimeofLastDetectorCalibration = "TimeofLastDetectorCalibration";
  336. static const char* DetectorConditionsNominalFlag = "DetectorConditionsNominalFlag";
  337. static const char* FPDCoef = "FPDCoef";
  338. static const char* PixelData = "PixelData";
  339. static const char* TargetEXI = "TargetEXI";
  340. }
  341. class _DIOSDEVFPDDEVICEMOULD_API ConfigInfo
  342. {
  343. public:
  344. ConfigInfo(const char* Key, const char* strType, const char* strAccess, const char* strRequired, const char* strDefaultValue);
  345. virtual ~ConfigInfo();
  346. void SetList(const char* str);
  347. void SetRange(const char* strmin, const char* strmax);
  348. const char* GetCurrentValue();
  349. void SetCurrentValue(const char* res);
  350. const char* GetDescription();
  351. const char* GetKey();
  352. private:
  353. std::string strConfKey;
  354. std::string resValue;
  355. std::string resDescription;
  356. };
  357. //-----------------------------------------------------------------------------
  358. // FPDDeviceMould
  359. //-----------------------------------------------------------------------------
  360. class _DIOSDEVFPDDEVICEMOULD_API FPDDeviceMould/* : public IODeviceDetail*/
  361. {
  362. //using super = IODeviceDetail;
  363. public:
  364. FPDDeviceMould(/*std::shared_ptr <IOEventCenter> center*/);
  365. ~FPDDeviceMould();
  366. //protected:
  367. // virtual void RegisterCtrl();
  368. // virtual void RegisterAcq();
  369. // virtual void RegisterSync();
  370. // virtual void RegisterCalib();
  371. // virtual void RegisterOthers();
  372. };
  373. }
  374. namespace DIOS::Dev::Detail::Detector
  375. {
  376. class _DIOSDEVFPDDEVICEMOULD_API FPDDriverMould : public DIOS::Dev::IODriver
  377. {
  378. public:
  379. FPDDriverMould();
  380. ~FPDDriverMould();
  381. public:
  382. virtual std::string GetGUID() const;
  383. //virtual void Prepare() override;
  384. //virtual int Connect() override;
  385. //virtual void Disconnect() override;
  386. //virtual bool isConnected() const override;
  387. //virtual void FireNotify(int code, std::string key, std::string content) override;
  388. //virtual auto CreateDevice(int index)->std::unique_ptr <IODevice> override;
  389. //virtual std::string DriverProbe() override;
  390. //virtual std::string GetResource() override;
  391. //virtual std::string DeviceProbe() override;
  392. void AddConfig(ConfigInfo config);
  393. protected:
  394. std::list <ConfigInfo> m_ConfigInfo;
  395. };
  396. }