HGScannerLib增加获取设备操作码接口
This commit is contained in:
parent
7253734973
commit
90faa2ef5e
|
@ -27,4 +27,5 @@ HGLib_DeviceRestart
|
||||||
HGLib_DeviceShutDown
|
HGLib_DeviceShutDown
|
||||||
HGLib_StartDeviceScan
|
HGLib_StartDeviceScan
|
||||||
HGLib_StopDeviceScan
|
HGLib_StopDeviceScan
|
||||||
HGLib_StopDeviceScanAsyn
|
HGLib_StopDeviceScanAsyn
|
||||||
|
HGLib_GetDeviceOperateCode
|
Binary file not shown.
Binary file not shown.
|
@ -227,6 +227,7 @@ HGLibDeviceImpl::HGLibDeviceImpl()
|
||||||
m_eventParam = NULL;
|
m_eventParam = NULL;
|
||||||
m_imageFunc = NULL;
|
m_imageFunc = NULL;
|
||||||
m_imageParam = NULL;
|
m_imageParam = NULL;
|
||||||
|
m_statusCode = SANE_STATUS_GOOD;
|
||||||
}
|
}
|
||||||
|
|
||||||
HGLibDeviceImpl::~HGLibDeviceImpl()
|
HGLibDeviceImpl::~HGLibDeviceImpl()
|
||||||
|
@ -384,11 +385,11 @@ HGBool HGLibDeviceImpl::GetSN(HGChar* sn, HGUInt maxLen)
|
||||||
|
|
||||||
std::string serialNum;
|
std::string serialNum;
|
||||||
unsigned int serialNumLen = 0;
|
unsigned int serialNumLen = 0;
|
||||||
if (SANE_STATUS_NO_MEM == sane_io_control(m_devHandle, IO_CTRL_CODE_GET_SERIAL, NULL, &serialNumLen)
|
m_statusCode = sane_io_control(m_devHandle, IO_CTRL_CODE_GET_SERIAL, NULL, &serialNumLen);
|
||||||
&& serialNumLen)
|
if (SANE_STATUS_NO_MEM == m_statusCode && serialNumLen)
|
||||||
{
|
{
|
||||||
serialNum.resize(serialNumLen);
|
serialNum.resize(serialNumLen);
|
||||||
sane_io_control(m_devHandle, IO_CTRL_CODE_GET_SERIAL, &serialNum[0], &serialNumLen);
|
m_statusCode = sane_io_control(m_devHandle, IO_CTRL_CODE_GET_SERIAL, &serialNum[0], &serialNumLen);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (serialNum.empty() || maxLen < serialNum.size() + 1)
|
if (serialNum.empty() || maxLen < serialNum.size() + 1)
|
||||||
|
@ -411,11 +412,11 @@ HGBool HGLibDeviceImpl::GetFWVersion(HGChar* fwVersion, HGUInt maxLen)
|
||||||
|
|
||||||
std::string versionNum;
|
std::string versionNum;
|
||||||
unsigned int versionNumLen = 0;
|
unsigned int versionNumLen = 0;
|
||||||
if (SANE_STATUS_NO_MEM == sane_io_control(m_devHandle, IO_CTRL_CODE_GET_HARDWARE_VERSION, NULL, &versionNumLen)
|
m_statusCode = sane_io_control(m_devHandle, IO_CTRL_CODE_GET_HARDWARE_VERSION, NULL, &versionNumLen);
|
||||||
&& versionNumLen)
|
if (SANE_STATUS_NO_MEM == m_statusCode && versionNumLen)
|
||||||
{
|
{
|
||||||
versionNum.resize(versionNumLen);
|
versionNum.resize(versionNumLen);
|
||||||
sane_io_control(m_devHandle, IO_CTRL_CODE_GET_HARDWARE_VERSION, &versionNum[0], &versionNumLen);
|
m_statusCode = sane_io_control(m_devHandle, IO_CTRL_CODE_GET_HARDWARE_VERSION, &versionNum[0], &versionNumLen);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (versionNum.empty() || maxLen < versionNum.size() + 1)
|
if (versionNum.empty() || maxLen < versionNum.size() + 1)
|
||||||
|
@ -439,7 +440,7 @@ HGBool HGLibDeviceImpl::SetParam(HGUInt option, const HGVoid* data)
|
||||||
|
|
||||||
HGBool ret = HGFALSE;
|
HGBool ret = HGFALSE;
|
||||||
SANE_Int num_dev_options = 0;
|
SANE_Int num_dev_options = 0;
|
||||||
sane_control_option(m_devHandle, 0, SANE_ACTION_GET_VALUE, &num_dev_options, NULL);
|
m_statusCode = sane_control_option(m_devHandle, 0, SANE_ACTION_GET_VALUE, &num_dev_options, NULL);
|
||||||
for (int i = 1; i < num_dev_options; ++i)
|
for (int i = 1; i < num_dev_options; ++i)
|
||||||
{
|
{
|
||||||
const SANE_Option_Descriptor* desp = sane_get_option_descriptor(m_devHandle, i);
|
const SANE_Option_Descriptor* desp = sane_get_option_descriptor(m_devHandle, i);
|
||||||
|
@ -457,26 +458,30 @@ HGBool HGLibDeviceImpl::SetParam(HGUInt option, const HGVoid* data)
|
||||||
SANE_Char* value = (SANE_Char*)GetOptionEnumValue(*(HGUInt*)data);
|
SANE_Char* value = (SANE_Char*)GetOptionEnumValue(*(HGUInt*)data);
|
||||||
if (NULL != value)
|
if (NULL != value)
|
||||||
{
|
{
|
||||||
if (SANE_STATUS_GOOD == sane_control_option(m_devHandle, i, SANE_ACTION_SET_VALUE, value, NULL))
|
m_statusCode = sane_control_option(m_devHandle, i, SANE_ACTION_SET_VALUE, value, NULL);
|
||||||
|
if (SANE_STATUS_GOOD == m_statusCode)
|
||||||
ret = HGTRUE;
|
ret = HGTRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (SANE_TYPE_INT == desp->type)
|
else if (SANE_TYPE_INT == desp->type)
|
||||||
{
|
{
|
||||||
SANE_Int value = (SANE_Int)(*(HGInt*)data);
|
SANE_Int value = (SANE_Int)(*(HGInt*)data);
|
||||||
if (SANE_STATUS_GOOD == sane_control_option(m_devHandle, i, SANE_ACTION_SET_VALUE, &value, NULL))
|
m_statusCode = sane_control_option(m_devHandle, i, SANE_ACTION_SET_VALUE, &value, NULL);
|
||||||
|
if (SANE_STATUS_GOOD == m_statusCode)
|
||||||
ret = HGTRUE;
|
ret = HGTRUE;
|
||||||
}
|
}
|
||||||
else if (SANE_TYPE_FIXED == desp->type)
|
else if (SANE_TYPE_FIXED == desp->type)
|
||||||
{
|
{
|
||||||
SANE_Fixed value = SANE_FIX(*(HGDouble*)data);
|
SANE_Fixed value = SANE_FIX(*(HGDouble*)data);
|
||||||
if (SANE_STATUS_GOOD == sane_control_option(m_devHandle, i, SANE_ACTION_SET_VALUE, &value, NULL))
|
m_statusCode = sane_control_option(m_devHandle, i, SANE_ACTION_SET_VALUE, &value, NULL);
|
||||||
|
if (SANE_STATUS_GOOD == m_statusCode)
|
||||||
ret = HGTRUE;
|
ret = HGTRUE;
|
||||||
}
|
}
|
||||||
else if (SANE_TYPE_BOOL == desp->type)
|
else if (SANE_TYPE_BOOL == desp->type)
|
||||||
{
|
{
|
||||||
SANE_Bool value = (SANE_Bool)(*(HGBool*)data);
|
SANE_Bool value = (SANE_Bool)(*(HGBool*)data);
|
||||||
if (SANE_STATUS_GOOD == sane_control_option(m_devHandle, i, SANE_ACTION_SET_VALUE, &value, NULL))
|
m_statusCode = sane_control_option(m_devHandle, i, SANE_ACTION_SET_VALUE, &value, NULL);
|
||||||
|
if (SANE_STATUS_GOOD == m_statusCode)
|
||||||
ret = HGTRUE;
|
ret = HGTRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -496,7 +501,7 @@ HGLibDeviceParamGroup* HGLibDeviceImpl::GetParamGroupList(HGUInt* count)
|
||||||
std::vector<DeviceParamsGroup> devParams;
|
std::vector<DeviceParamsGroup> devParams;
|
||||||
|
|
||||||
SANE_Int num_dev_options = 0;
|
SANE_Int num_dev_options = 0;
|
||||||
sane_control_option(m_devHandle, 0, SANE_ACTION_GET_VALUE, &num_dev_options, NULL);
|
m_statusCode = sane_control_option(m_devHandle, 0, SANE_ACTION_GET_VALUE, &num_dev_options, NULL);
|
||||||
for (int i = 1; i < num_dev_options; ++i)
|
for (int i = 1; i < num_dev_options; ++i)
|
||||||
{
|
{
|
||||||
const SANE_Option_Descriptor* desp = sane_get_option_descriptor(m_devHandle, i);
|
const SANE_Option_Descriptor* desp = sane_get_option_descriptor(m_devHandle, i);
|
||||||
|
@ -516,7 +521,7 @@ HGLibDeviceParamGroup* HGLibDeviceImpl::GetParamGroupList(HGUInt* count)
|
||||||
else if (SANE_TYPE_STRING == desp->type)
|
else if (SANE_TYPE_STRING == desp->type)
|
||||||
{
|
{
|
||||||
char value[256] = { 0 };
|
char value[256] = { 0 };
|
||||||
sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, value, NULL);
|
m_statusCode = sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, value, NULL);
|
||||||
|
|
||||||
DeviceParam devParam;
|
DeviceParam devParam;
|
||||||
devParam.option = name;
|
devParam.option = name;
|
||||||
|
@ -539,7 +544,7 @@ HGLibDeviceParamGroup* HGLibDeviceImpl::GetParamGroupList(HGUInt* count)
|
||||||
else if (SANE_TYPE_INT == desp->type)
|
else if (SANE_TYPE_INT == desp->type)
|
||||||
{
|
{
|
||||||
SANE_Int value = 0;
|
SANE_Int value = 0;
|
||||||
sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, &value, NULL);
|
m_statusCode = sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, &value, NULL);
|
||||||
|
|
||||||
DeviceParam devParam;
|
DeviceParam devParam;
|
||||||
devParam.option = name;
|
devParam.option = name;
|
||||||
|
@ -568,7 +573,7 @@ HGLibDeviceParamGroup* HGLibDeviceImpl::GetParamGroupList(HGUInt* count)
|
||||||
else if (SANE_TYPE_FIXED == desp->type)
|
else if (SANE_TYPE_FIXED == desp->type)
|
||||||
{
|
{
|
||||||
SANE_Word value = 0;
|
SANE_Word value = 0;
|
||||||
sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, &value, NULL);
|
m_statusCode = sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, &value, NULL);
|
||||||
|
|
||||||
DeviceParam devParam;
|
DeviceParam devParam;
|
||||||
devParam.option = name;
|
devParam.option = name;
|
||||||
|
@ -597,7 +602,7 @@ HGLibDeviceParamGroup* HGLibDeviceImpl::GetParamGroupList(HGUInt* count)
|
||||||
else if (SANE_TYPE_BOOL == desp->type)
|
else if (SANE_TYPE_BOOL == desp->type)
|
||||||
{
|
{
|
||||||
SANE_Bool value = 0;
|
SANE_Bool value = 0;
|
||||||
sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, &value, NULL);
|
m_statusCode = sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, &value, NULL);
|
||||||
|
|
||||||
DeviceParam devParam;
|
DeviceParam devParam;
|
||||||
devParam.option = name;
|
devParam.option = name;
|
||||||
|
@ -702,7 +707,7 @@ HGLibDeviceParam* HGLibDeviceImpl::GetParam(HGUInt option)
|
||||||
|
|
||||||
HGLibDeviceParam* param = NULL;
|
HGLibDeviceParam* param = NULL;
|
||||||
SANE_Int num_dev_options = 0;
|
SANE_Int num_dev_options = 0;
|
||||||
sane_control_option(m_devHandle, 0, SANE_ACTION_GET_VALUE, &num_dev_options, NULL);
|
m_statusCode = sane_control_option(m_devHandle, 0, SANE_ACTION_GET_VALUE, &num_dev_options, NULL);
|
||||||
for (int i = 1; i < num_dev_options; ++i)
|
for (int i = 1; i < num_dev_options; ++i)
|
||||||
{
|
{
|
||||||
const SANE_Option_Descriptor* desp = sane_get_option_descriptor(m_devHandle, i);
|
const SANE_Option_Descriptor* desp = sane_get_option_descriptor(m_devHandle, i);
|
||||||
|
@ -721,7 +726,7 @@ HGLibDeviceParam* HGLibDeviceImpl::GetParam(HGUInt option)
|
||||||
if (SANE_TYPE_STRING == desp->type)
|
if (SANE_TYPE_STRING == desp->type)
|
||||||
{
|
{
|
||||||
char value[256] = { 0 };
|
char value[256] = { 0 };
|
||||||
sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, value, NULL);
|
m_statusCode = sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, value, NULL);
|
||||||
|
|
||||||
devParam.valueType = HGLIB_OPTION_VALUETYPE_ENUM;
|
devParam.valueType = HGLIB_OPTION_VALUETYPE_ENUM;
|
||||||
devParam.stringValue = value;
|
devParam.stringValue = value;
|
||||||
|
@ -739,7 +744,7 @@ HGLibDeviceParam* HGLibDeviceImpl::GetParam(HGUInt option)
|
||||||
else if (SANE_TYPE_INT == desp->type)
|
else if (SANE_TYPE_INT == desp->type)
|
||||||
{
|
{
|
||||||
SANE_Int value = 0;
|
SANE_Int value = 0;
|
||||||
sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, &value, NULL);
|
m_statusCode = sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, &value, NULL);
|
||||||
|
|
||||||
devParam.valueType = HGLIB_OPTION_VALUETYPE_INT;
|
devParam.valueType = HGLIB_OPTION_VALUETYPE_INT;
|
||||||
devParam.intValue = (int)value;
|
devParam.intValue = (int)value;
|
||||||
|
@ -763,7 +768,7 @@ HGLibDeviceParam* HGLibDeviceImpl::GetParam(HGUInt option)
|
||||||
else if (SANE_TYPE_FIXED == desp->type)
|
else if (SANE_TYPE_FIXED == desp->type)
|
||||||
{
|
{
|
||||||
SANE_Word value = 0;
|
SANE_Word value = 0;
|
||||||
sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, &value, NULL);
|
m_statusCode = sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, &value, NULL);
|
||||||
|
|
||||||
devParam.valueType = HGLIB_OPTION_VALUETYPE_DOUBLE;
|
devParam.valueType = HGLIB_OPTION_VALUETYPE_DOUBLE;
|
||||||
devParam.doubleValue = SANE_UNFIX(value);
|
devParam.doubleValue = SANE_UNFIX(value);
|
||||||
|
@ -787,7 +792,7 @@ HGLibDeviceParam* HGLibDeviceImpl::GetParam(HGUInt option)
|
||||||
else if (SANE_TYPE_BOOL == desp->type)
|
else if (SANE_TYPE_BOOL == desp->type)
|
||||||
{
|
{
|
||||||
SANE_Bool value = 0;
|
SANE_Bool value = 0;
|
||||||
sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, &value, NULL);
|
m_statusCode = sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, &value, NULL);
|
||||||
|
|
||||||
devParam.valueType = HGLIB_OPTION_VALUETYPE_BOOL;
|
devParam.valueType = HGLIB_OPTION_VALUETYPE_BOOL;
|
||||||
devParam.boolValue = (bool)value;
|
devParam.boolValue = (bool)value;
|
||||||
|
@ -916,7 +921,7 @@ HGBool HGLibDeviceImpl::ResetParam()
|
||||||
HGBool ret = HGFALSE;
|
HGBool ret = HGFALSE;
|
||||||
|
|
||||||
SANE_Int num_dev_options = 0;
|
SANE_Int num_dev_options = 0;
|
||||||
sane_control_option(m_devHandle, 0, SANE_ACTION_GET_VALUE, &num_dev_options, NULL);
|
m_statusCode = sane_control_option(m_devHandle, 0, SANE_ACTION_GET_VALUE, &num_dev_options, NULL);
|
||||||
for (int i = 1; i < num_dev_options; ++i)
|
for (int i = 1; i < num_dev_options; ++i)
|
||||||
{
|
{
|
||||||
const SANE_Option_Descriptor* desp = sane_get_option_descriptor(m_devHandle, i);
|
const SANE_Option_Descriptor* desp = sane_get_option_descriptor(m_devHandle, i);
|
||||||
|
@ -929,7 +934,8 @@ HGBool HGLibDeviceImpl::ResetParam()
|
||||||
|
|
||||||
if (0 == strcmp(SANE_STD_OPT_NAME_RESTORE, name) && SANE_TYPE_BUTTON == desp->type)
|
if (0 == strcmp(SANE_STD_OPT_NAME_RESTORE, name) && SANE_TYPE_BUTTON == desp->type)
|
||||||
{
|
{
|
||||||
if (SANE_STATUS_GOOD == sane_control_option(m_devHandle, i, SANE_ACTION_SET_VALUE, NULL, NULL))
|
m_statusCode = sane_control_option(m_devHandle, i, SANE_ACTION_SET_VALUE, NULL, NULL);
|
||||||
|
if (SANE_STATUS_GOOD == m_statusCode)
|
||||||
ret = HGTRUE;
|
ret = HGTRUE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -942,8 +948,8 @@ HGBool HGLibDeviceImpl::IsPaperOn()
|
||||||
{
|
{
|
||||||
SANE_Bool isOn = SANE_FALSE;
|
SANE_Bool isOn = SANE_FALSE;
|
||||||
unsigned int len = sizeof(SANE_Bool);
|
unsigned int len = sizeof(SANE_Bool);
|
||||||
SANE_Status status = sane_io_control(m_devHandle, IO_CTRL_CODE_GET_PAPER_ON, &isOn, &len);
|
m_statusCode = sane_io_control(m_devHandle, IO_CTRL_CODE_GET_PAPER_ON, &isOn, &len);
|
||||||
if (SANE_STATUS_GOOD == status && isOn)
|
if (SANE_STATUS_GOOD == m_statusCode && isOn)
|
||||||
return HGTRUE;
|
return HGTRUE;
|
||||||
return HGFALSE;
|
return HGFALSE;
|
||||||
}
|
}
|
||||||
|
@ -952,8 +958,8 @@ HGInt HGLibDeviceImpl::GetStatus()
|
||||||
{
|
{
|
||||||
SANE_Bool isOn = SANE_FALSE;
|
SANE_Bool isOn = SANE_FALSE;
|
||||||
unsigned int len = sizeof(SANE_Bool);
|
unsigned int len = sizeof(SANE_Bool);
|
||||||
SANE_Status status = sane_io_control(m_devHandle, IO_CTRL_CODE_GET_PAPER_ON, &isOn, &len);
|
m_statusCode = sane_io_control(m_devHandle, IO_CTRL_CODE_GET_PAPER_ON, &isOn, &len);
|
||||||
if (SANE_STATUS_GOOD == status)
|
if (SANE_STATUS_GOOD == m_statusCode)
|
||||||
return isOn ? 1 : 0;
|
return isOn ? 1 : 0;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -962,8 +968,8 @@ HGBool HGLibDeviceImpl::Restart()
|
||||||
{
|
{
|
||||||
SANE_Power stat = SANE_POWER_RESTART;
|
SANE_Power stat = SANE_POWER_RESTART;
|
||||||
unsigned int len = sizeof(SANE_Power);
|
unsigned int len = sizeof(SANE_Power);
|
||||||
SANE_Status status = sane_io_control(m_devHandle, IO_CTRL_CODE_SET_POWER_LEVEL, &stat, &len);
|
m_statusCode = sane_io_control(m_devHandle, IO_CTRL_CODE_SET_POWER_LEVEL, &stat, &len);
|
||||||
if (SANE_STATUS_GOOD == status)
|
if (SANE_STATUS_GOOD == m_statusCode)
|
||||||
return HGTRUE;
|
return HGTRUE;
|
||||||
return HGFALSE;
|
return HGFALSE;
|
||||||
}
|
}
|
||||||
|
@ -972,8 +978,8 @@ HGBool HGLibDeviceImpl::ShutDown()
|
||||||
{
|
{
|
||||||
SANE_Power stat = SANE_POWER_SHUTDOWN;
|
SANE_Power stat = SANE_POWER_SHUTDOWN;
|
||||||
unsigned int len = sizeof(SANE_Power);
|
unsigned int len = sizeof(SANE_Power);
|
||||||
SANE_Status status = sane_io_control(m_devHandle, IO_CTRL_CODE_SET_POWER_LEVEL, &stat, &len);
|
m_statusCode = sane_io_control(m_devHandle, IO_CTRL_CODE_SET_POWER_LEVEL, &stat, &len);
|
||||||
if (SANE_STATUS_GOOD == status)
|
if (SANE_STATUS_GOOD == m_statusCode)
|
||||||
return HGTRUE;
|
return HGTRUE;
|
||||||
return HGFALSE;
|
return HGFALSE;
|
||||||
}
|
}
|
||||||
|
@ -1001,8 +1007,8 @@ HGBool HGLibDeviceImpl::StartScan(HGLibDeviceScanEventFunc eventFunc, HGPointer
|
||||||
m_imageParam = imageParam;
|
m_imageParam = imageParam;
|
||||||
m_scanning = HGTRUE;
|
m_scanning = HGTRUE;
|
||||||
|
|
||||||
SANE_Status status = sane_start(m_devHandle);
|
m_statusCode = sane_start(m_devHandle);
|
||||||
if (SANE_STATUS_GOOD != status)
|
if (SANE_STATUS_GOOD != m_statusCode)
|
||||||
{
|
{
|
||||||
m_scanning = HGFALSE;
|
m_scanning = HGFALSE;
|
||||||
m_eventFunc = NULL;
|
m_eventFunc = NULL;
|
||||||
|
@ -1062,6 +1068,11 @@ HGBool HGLibDeviceImpl::StopScanAsyn()
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HGInt HGLibDeviceImpl::GetOperateCode()
|
||||||
|
{
|
||||||
|
return m_statusCode;
|
||||||
|
}
|
||||||
|
|
||||||
const char* HGLibDeviceImpl::GetGroupName(HGUInt group)
|
const char* HGLibDeviceImpl::GetGroupName(HGUInt group)
|
||||||
{
|
{
|
||||||
if (group > HGLIB_GROUP_NAME_PAPERFEEDING)
|
if (group > HGLIB_GROUP_NAME_PAPERFEEDING)
|
||||||
|
|
|
@ -39,6 +39,7 @@ public:
|
||||||
HGLibDeviceScanImageFunc imageFunc, HGPointer imageParam);
|
HGLibDeviceScanImageFunc imageFunc, HGPointer imageParam);
|
||||||
HGBool StopScan();
|
HGBool StopScan();
|
||||||
HGBool StopScanAsyn();
|
HGBool StopScanAsyn();
|
||||||
|
HGInt GetOperateCode();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static const char* GetGroupName(HGUInt group);
|
static const char* GetGroupName(HGUInt group);
|
||||||
|
@ -65,6 +66,7 @@ private:
|
||||||
HGPointer m_eventParam;
|
HGPointer m_eventParam;
|
||||||
HGLibDeviceScanImageFunc m_imageFunc;
|
HGLibDeviceScanImageFunc m_imageFunc;
|
||||||
HGPointer m_imageParam;
|
HGPointer m_imageParam;
|
||||||
|
HGInt m_statusCode;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* __HGLIBDEVICEIMPL_HPP__ */
|
#endif /* __HGLIBDEVICEIMPL_HPP__ */
|
|
@ -318,3 +318,14 @@ HGBool HGAPI HGLib_StopDeviceScanAsyn(HGLibDevice device)
|
||||||
HGLibDeviceImpl* deviceImpl = (HGLibDeviceImpl*)device;
|
HGLibDeviceImpl* deviceImpl = (HGLibDeviceImpl*)device;
|
||||||
return deviceImpl->StopScanAsyn();
|
return deviceImpl->StopScanAsyn();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HGInt HGAPI HGLib_GetDeviceOperateCode(HGLibDevice device)
|
||||||
|
{
|
||||||
|
if (NULL == device)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
HGLibDeviceImpl* deviceImpl = (HGLibDeviceImpl*)device;
|
||||||
|
return deviceImpl->GetOperateCode();
|
||||||
|
}
|
||||||
|
|
|
@ -29,6 +29,20 @@ HG_DECLARE_HANDLE(HGLibDevice);
|
||||||
#define HGLIB_TIFFCOMPRESSION_LZW 3L
|
#define HGLIB_TIFFCOMPRESSION_LZW 3L
|
||||||
#define HGLIB_TIFFCOMPRESSION_JPEG 4L
|
#define HGLIB_TIFFCOMPRESSION_JPEG 4L
|
||||||
|
|
||||||
|
/* 设备操作码 */
|
||||||
|
#define HGLIB_DEV_OPERATECODE_GOOD 0L
|
||||||
|
#define HGLIB_DEV_OPERATECODE_UNSUPPORTED 1L
|
||||||
|
#define HGLIB_DEV_OPERATECODE_CANCELLED 2L
|
||||||
|
#define HGLIB_DEV_OPERATECODE_BUSY 3L
|
||||||
|
#define HGLIB_DEV_OPERATECODE_INVAL 4L
|
||||||
|
#define HGLIB_DEV_OPERATECODE_EOF 5L
|
||||||
|
#define HGLIB_DEV_OPERATECODE_JAMMED 6L
|
||||||
|
#define HGLIB_DEV_OPERATECODE_NO_DOCS 7L
|
||||||
|
#define HGLIB_DEV_OPERATECODE_COVER_OPEN 8L
|
||||||
|
#define HGLIB_DEV_OPERATECODE_IO_ERROR 9L
|
||||||
|
#define HGLIB_DEV_OPERATECODE_NO_MEM 10L
|
||||||
|
#define HGLIB_DEV_OPERATECODE_ACCESS_DENIED 11L
|
||||||
|
|
||||||
/* 设备热拔插事件 */
|
/* 设备热拔插事件 */
|
||||||
#define HGLIB_DEVHOTPLUG_EVENT_ARRIVE 1L
|
#define HGLIB_DEVHOTPLUG_EVENT_ARRIVE 1L
|
||||||
#define HGLIB_DEVHOTPLUG_EVENT_REMOVE 2L
|
#define HGLIB_DEVHOTPLUG_EVENT_REMOVE 2L
|
||||||
|
@ -546,4 +560,7 @@ HGEXPORT HGBool HGAPI HGLib_StopDeviceScan(HGLibDevice device);
|
||||||
/* 停止扫描-异步 */
|
/* 停止扫描-异步 */
|
||||||
HGEXPORT HGBool HGAPI HGLib_StopDeviceScanAsyn(HGLibDevice device);
|
HGEXPORT HGBool HGAPI HGLib_StopDeviceScanAsyn(HGLibDevice device);
|
||||||
|
|
||||||
|
/* 获取设备操作码(在调用设备操作函数以后) */
|
||||||
|
HGEXPORT HGInt HGAPI HGLib_GetDeviceOperateCode(HGLibDevice device);
|
||||||
|
|
||||||
#endif /* __HGSCANNERLIB_H__ */
|
#endif /* __HGSCANNERLIB_H__ */
|
Loading…
Reference in New Issue