| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #ifndef __SP_VIRTUAL_DEVICE_H
- #define __SP_VIRTUAL_DEVICE_H
- #pragma once
- #include "SpBase.h"
- // for virtual device layer
- struct IDeviceAbstractObject
- {
- virtual ErrorCodeEnum Initialize(int argc, char *argv[]) = 0;
- virtual void Termination() = 0;
- virtual ErrorCodeEnum SelfTest() = 0;
- virtual ErrorCodeEnum Reset() = 0;
- virtual void GetVersion(int *major, int *minor) = 0;
- virtual const char *GetAuthor() = 0;
- virtual const char *GetCompany() = 0;
- virtual const char *GetType() = 0;
- virtual ErrorCodeEnum Command(int cmd, const char *inParam, int nInParam, char *outParam, int nOutParam) = 0;
- };
- /**
- * a wrapper for dynamic load dev api
- * @param pszDevDll the dll name which you want load, for example, you want to load "dev\dev_prn_base.dll"
- * then pszDevDll == "dev_prn_base"
- * note:
- * 1) dont forget do unload via SpUnloadDeviceAbstractObject
- * 2) dont load dev dll directly, because we do signature checking here
- */
- SPBASE_API ErrorCodeEnum SpLoadDeviceAbstractObject(const char *pszDevDll, IDeviceAbstractObject **ppDevObj);
- SPBASE_API void SpUnloadDeviceAbstractObject(IDeviceAbstractObject *pDevObj);
- class SpVirtualDevice
- {
- public:
- };
- #endif // __SP_VIRTUAL_DEVICE_H
|