code_app/modules/twain_user/HGTwain.cpp

349 lines
7.4 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();
}
HGEXPORT HGResult HGAPI HGTwain_SetCapbility(HGTwainDS ds, HGUShort cap, const HGCapValue *value, HGBool reset)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
return twainDSImpl->SetCapbility(cap, value, reset);
}
HGEXPORT HGResult HGAPI HGTwain_GetCapbility(HGTwainDS ds, HGUShort cap, HGCapValue *value)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
return twainDSImpl->GetCapbility(cap, value);
}