327 lines
6.9 KiB
C++
327 lines
6.9 KiB
C++
#include "HGTwain.h"
|
|
#include "HGTwainImpl.hpp"
|
|
|
|
HGResult HGAPI HGTwain_CreateDSM(HWND hwnd, HGTwainDSM* dsm)
|
|
{
|
|
if (NULL == dsm)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSMImpl* twainDSMImpl = new HGTwainDSMImpl;
|
|
HGResult ret = twainDSMImpl->Create(hwnd);
|
|
if (HGBASE_ERR_OK != ret)
|
|
{
|
|
delete twainDSMImpl;
|
|
return ret;
|
|
}
|
|
|
|
*dsm = (HGTwainDSM)twainDSMImpl;
|
|
return HGBASE_ERR_OK;
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_DestroyDSM(HGTwainDSM dsm)
|
|
{
|
|
if (NULL == dsm)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
|
|
HGResult ret = twainDSMImpl->Destroy();
|
|
if (HGBASE_ERR_OK != ret)
|
|
{
|
|
return ret;
|
|
}
|
|
|
|
delete twainDSMImpl;
|
|
return HGBASE_ERR_OK;
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_GetDSCount(HGTwainDSM dsm, HGUInt* count)
|
|
{
|
|
if (NULL == dsm)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
|
|
return twainDSMImpl->GetDSCount(count);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_GetDSNameWithIndex(HGTwainDSM dsm, HGUInt index, HGChar* name, HGUInt maxLen)
|
|
{
|
|
if (NULL == dsm)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
|
|
return twainDSMImpl->GetDSName(index, name, maxLen);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_CreateDS(HGTwainDSM dsm, HGUInt index, HGTwainDS* ds)
|
|
{
|
|
if (NULL == dsm)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
|
|
class HGTwainDSImpl* dsImpl = NULL;
|
|
HGResult ret = twainDSMImpl->CreateDS(index, &dsImpl);
|
|
if (HGBASE_ERR_OK != ret)
|
|
{
|
|
return ret;
|
|
}
|
|
|
|
*ds = (HGTwainDS)dsImpl;
|
|
return HGBASE_ERR_OK;
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_CreateDefaultDS(HGTwainDSM dsm, HGTwainDS* ds)
|
|
{
|
|
if (NULL == dsm)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
|
|
class HGTwainDSImpl* dsImpl = NULL;
|
|
HGResult ret = twainDSMImpl->CreateDefaultDS(&dsImpl);
|
|
if (HGBASE_ERR_OK != ret)
|
|
{
|
|
return ret;
|
|
}
|
|
|
|
*ds = (HGTwainDS)dsImpl;
|
|
return HGBASE_ERR_OK;
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_CreateSelectedDS(HGTwainDSM dsm, HGTwainDS* ds)
|
|
{
|
|
if (NULL == dsm)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
|
|
class HGTwainDSImpl* dsImpl = NULL;
|
|
HGResult ret = twainDSMImpl->CreateSelectedDS(&dsImpl);
|
|
if (HGBASE_ERR_OK != ret)
|
|
{
|
|
return ret;
|
|
}
|
|
|
|
*ds = (HGTwainDS)dsImpl;
|
|
return HGBASE_ERR_OK;
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_CreateSelectedDSEx(HGTwainDSM dsm, HGTwainDS* ds)
|
|
{
|
|
if (NULL == dsm)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
|
|
class HGTwainDSImpl* dsImpl = NULL;
|
|
HGResult ret = twainDSMImpl->CreateSelectedDSEx(&dsImpl);
|
|
if (HGBASE_ERR_OK != ret)
|
|
{
|
|
return ret;
|
|
}
|
|
|
|
*ds = (HGTwainDS)dsImpl;
|
|
return HGBASE_ERR_OK;
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_DestroyDS(HGTwainDS ds)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->Destroy();
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_OpenDS(HGTwainDS ds)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->Open();
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_CloseDS(HGTwainDS ds)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->Close();
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_GetDSName(HGTwainDS ds, HGChar* name, HGUInt maxLen)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->GetName(name, maxLen);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_GetDSDeviceName(HGTwainDS ds, HGChar* name, HGUInt maxLen)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->GetDeviceName(name, maxLen);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_GetDSDeviceCustomInfo(HGTwainDS ds, HGTwainDeviceCustomInfo *info)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->GetDeviceCustomInfo(info);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_LoginDS(HGTwainDS ds, const HGChar *user, const HGChar *pwd)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->Login(user, pwd);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_LogoutDS(HGTwainDS ds)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->Logout();
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_ClearDSRollerCount(HGTwainDS ds)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->ClearRollerCount();
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_GetDSDriverLog(HGTwainDS ds, const HGChar *fileName)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->GetDriverLog(fileName);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_ClearDSDriverLog(HGTwainDS ds)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->ClearDriverLog();
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_GetDSDeviceLog(HGTwainDS ds, const HGChar *fileName)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->GetDeviceLog(fileName);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_ClearDSDeviceLog(HGTwainDS ds)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->ClearDeviceLog();
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->EnableUIOnly(parent, eventFunc, eventParam);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam,
|
|
HGDSImageFunc imageFunc, HGPointer imageParam)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->Enable(showUI, parent, eventFunc, eventParam, imageFunc, imageParam);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_EnableDSWithSingleScan(HGTwainDS ds, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam,
|
|
HGDSImageFunc imageFunc, HGPointer imageParam)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->EnableWithSingleScan(parent, eventFunc, eventParam, imageFunc, imageParam);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_DisableDS(HGTwainDS ds)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->Disable();
|
|
}
|