SpVirtualDevice.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef __SP_VIRTUAL_DEVICE_H
  2. #define __SP_VIRTUAL_DEVICE_H
  3. #pragma once
  4. #include "SpBase.h"
  5. // for virtual device layer
  6. struct IDeviceAbstractObject
  7. {
  8. virtual ErrorCodeEnum Initialize(int argc, char *argv[]) = 0;
  9. virtual void Termination() = 0;
  10. virtual ErrorCodeEnum SelfTest() = 0;
  11. virtual ErrorCodeEnum Reset() = 0;
  12. virtual void GetVersion(int *major, int *minor) = 0;
  13. virtual const char *GetAuthor() = 0;
  14. virtual const char *GetCompany() = 0;
  15. virtual const char *GetType() = 0;
  16. virtual ErrorCodeEnum Command(int cmd, const char *inParam, int nInParam, char *outParam, int nOutParam) = 0;
  17. };
  18. /**
  19. * a wrapper for dynamic load dev api
  20. * @param pszDevDll the dll name which you want load, for example, you want to load "dev\dev_prn_base.dll"
  21. * then pszDevDll == "dev_prn_base"
  22. * note:
  23. * 1) dont forget do unload via SpUnloadDeviceAbstractObject
  24. * 2) dont load dev dll directly, because we do signature checking here
  25. */
  26. SPBASE_API ErrorCodeEnum SpLoadDeviceAbstractObject(const char *pszDevDll, IDeviceAbstractObject **ppDevObj);
  27. SPBASE_API void SpUnloadDeviceAbstractObject(IDeviceAbstractObject *pDevObj);
  28. class SpVirtualDevice
  29. {
  30. public:
  31. };
  32. #endif // __SP_VIRTUAL_DEVICE_H