#ifndef __HGSANE_H__ #define __HGSANE_H__ #include "../base/HGDef.h" #include "../base/HGBaseErr.h" #include "HGSaneErr.h" #include "../base/HGImage.h" #include "sane.h" HG_DECLARE_HANDLE(HGSaneManager); HG_DECLARE_HANDLE(HGSaneDevice); /* Sane回调 */ 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); HGEXPORT HGResult HGAPI HGSane_CreateManager(const HGChar *sanePath, HGSaneManager* mgr); HGEXPORT HGResult HGAPI HGSane_DestroyManager(HGSaneManager mgr); HGEXPORT HGResult HGAPI HGSane_GetDeviceCount(HGSaneManager mgr, HGUInt *count); HGEXPORT HGResult HGAPI HGSane_GetDeviceName(HGSaneManager mgr, HGUInt index, HGChar *name, HGUInt maxLen); HGEXPORT HGResult HGAPI HGSane_OpenDevice(HGSaneManager mgr, HGUInt index, HGSaneDevice *dev, HGChar *errInfo, HGUInt errInfoLen); HGEXPORT HGResult HGAPI HGSane_CloseDevice(HGSaneDevice dev); HGEXPORT HGResult HGAPI HGSane_GetDeviceHandle(HGSaneDevice dev, SANE_Handle *handle); HGEXPORT HGResult HGAPI HGSane_StartDevice(HGSaneDevice dev, HGSane_DeviceEventFunc eventFunc, HGPointer eventParam, HGSane_DeviceImageFunc imageFunc, HGPointer imageParam, HGChar* errInfo, HGUInt errInfoLen); HGEXPORT HGResult HGAPI HGSane_StopDevice(HGSaneDevice dev); #endif /* __HGSANE_H__ */