code_app/modules/sane_user/HGSane.h

78 lines
2.7 KiB
C
Raw Normal View History

2022-05-03 10:25:52 +00:00
#ifndef __HGSANE_H__
#define __HGSANE_H__
#include "../base/HGDef.h"
#include "../base/HGBaseErr.h"
#include "HGSaneErr.h"
#include "../base/HGImage.h"
HG_DECLARE_HANDLE(HGSaneManager);
HG_DECLARE_HANDLE(HGSaneSource);
2022-05-03 10:25:52 +00:00
HG_DECLARE_HANDLE(HGSaneDevice);
#pragma pack(push)
#pragma pack(4)
/* SANE设备自定义信息 */
typedef struct
{
HGUShort vid;
HGUShort pid;
HGChar model[16];
HGChar type[16];
HGChar sn[32];
HGChar fwVer[32];
HGChar ip[32];
HGChar mac[32];
HGUInt rollerCount;
HGUInt totalCount;
}HGSaneCustomInfo;
#pragma pack(pop)
/* Sane回调
2022-05-03 10:25:52 +00:00
*/
2023-03-25 10:03:47 +00:00
typedef void (HGAPI* HGSane_DeviceEventFunc)(HGSaneDevice dev, HGUInt error, const HGChar *errInfo, HGPointer param);
typedef void (HGAPI* HGSane_DeviceImageFunc)(HGSaneDevice dev, HGImage image, HGPointer param);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGSane_CreateManager(HGSaneManager *manager);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGSane_DestroyManager(HGSaneManager manager);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGSane_GetSourceCount(HGSaneManager manager, HGUInt *count);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGSane_GetSourceNameWithIndex(HGSaneManager manager, HGUInt index, HGChar *name, HGUInt maxLen);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGSane_OpenSource(HGSaneManager manager, HGUInt index, HGSaneSource* source);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGSane_OpenSelectedSource(HGSaneManager manager, HGWindow parent, HGSaneSource* source);
HGEXPORT HGResult HGAPI HGSane_CloseSource(HGSaneSource source);
HGEXPORT HGResult HGAPI HGSane_GetSourceName(HGSaneSource source, HGChar *name, HGUInt maxLen);
HGEXPORT HGResult HGAPI HGSane_GetDeviceCount(HGSaneSource source, HGUInt *count);
HGEXPORT HGResult HGAPI HGSane_GetDeviceNameWithIndex(HGSaneSource source, HGUInt index, HGChar *name, HGUInt maxLen);
HGEXPORT HGResult HGAPI HGSane_OpenDevice(HGSaneSource source, HGUInt index, HGSaneDevice *dev, HGChar *errInfo, HGUInt errInfoLen);
HGEXPORT HGResult HGAPI HGSane_OpenSelectedDevice(HGSaneSource source, HGWindow parent, HGSaneDevice* dev);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGSane_CloseDevice(HGSaneDevice dev);
HGEXPORT HGResult HGAPI HGSane_GetDeviceName(HGSaneDevice dev, HGChar* name, HGUInt maxLen);
HGEXPORT HGResult HGAPI HGSane_GetDeviceCustomInfo(HGSaneDevice dev, HGSaneCustomInfo *info);
HGEXPORT HGResult HGAPI HGSane_ShowDeviceSettingDlg(HGSaneDevice dev, HGWindow parent);
2022-05-03 10:25:52 +00:00
2023-03-25 10:03:47 +00:00
HGEXPORT HGResult HGAPI HGSane_StartDevice(HGSaneDevice dev, HGSane_DeviceEventFunc eventFunc, HGPointer eventParam,
HGSane_DeviceImageFunc imageFunc, HGPointer imageParam, HGChar* errInfo, HGUInt errInfoLen);
2022-05-03 10:25:52 +00:00
2023-03-25 07:31:09 +00:00
HGEXPORT HGResult HGAPI HGSane_StopDevice(HGSaneDevice dev);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGSane_StartDeviceWithUI(HGSaneDevice dev, HGWindow parent, HGSane_DeviceImageFunc imageFunc, HGPointer imageParam);
#endif /* __HGSANE_H__ */