code_app/modules/twain_user/HGTwain.cpp

215 lines
4.4 KiB
C++
Raw Normal View History

2022-05-03 10:25:52 +00:00
#include "HGTwain.h"
#include "HGTwainImpl.hpp"
HGResult HGAPI HGTwain_LoadDSM(HGTwainDSM* dsm)
{
if (NULL == dsm)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSMImpl* twainDSMImpl = new HGTwainDSMImpl;
HGResult ret = twainDSMImpl->LoadDSM();
if (HGBASE_ERR_OK != ret)
{
delete twainDSMImpl;
return ret;
}
*dsm = (HGTwainDSM)twainDSMImpl;
return HGBASE_ERR_OK;
}
HGResult HGAPI HGTwain_UnloadDSM(HGTwainDSM dsm)
{
if (NULL == dsm)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
HGResult ret = twainDSMImpl->UnloadDSM();
if (HGBASE_ERR_OK != ret)
{
return ret;
}
delete twainDSMImpl;
return HGBASE_ERR_OK;
}
2022-07-21 08:20:51 +00:00
HGResult HGAPI HGTwain_OpenDSM(HGTwainDSM dsm, HWND hwnd, HGDSEventFunc func, HGPointer param)
2022-05-03 10:25:52 +00:00
{
if (NULL == dsm)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
2022-07-21 08:20:51 +00:00
return twainDSMImpl->OpenDSM(hwnd, func, param);
2022-05-03 10:25:52 +00:00
}
HGResult HGAPI HGTwain_CloseDSM(HGTwainDSM dsm)
{
if (NULL == dsm)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
return twainDSMImpl->CloseDSM();
}
HGResult HGAPI HGTwain_GetDSList(HGTwainDSM dsm, HGTwainDS* ds, HGUInt* size)
{
if (NULL == dsm)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
return twainDSMImpl->GetDSList((HGTwainDSImpl**)ds, size);
}
HGResult HGAPI HGTwain_GetDefaultDS(HGTwainDSM dsm, HGTwainDS* ds)
{
if (NULL == dsm)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
return twainDSMImpl->GetDefaultDS((HGTwainDSImpl**)ds);
}
HGResult HGAPI HGTwain_SelectDS(HGTwainDSM dsm, HGTwainDS* ds)
{
if (NULL == dsm)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
return twainDSMImpl->SelectDS((HGTwainDSImpl**)ds);
}
HGResult HGAPI HGTwain_GetDSName(HGTwainDS ds, HGChar* name, HGUInt maxLen)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
return twainDSImpl->dsmImpl->GetDSName(twainDSImpl, name, maxLen);
}
HGResult HGAPI HGTwain_OpenDS(HGTwainDS ds)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
return twainDSImpl->dsmImpl->OpenDS(twainDSImpl);
}
HGResult HGAPI HGTwain_CloseDS(HGTwainDS ds)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
return twainDSImpl->dsmImpl->CloseDS(twainDSImpl);
}
HGResult HGAPI HGTwain_SetCapability(HGTwainDS ds, HGUInt cap, HGInt value)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
return twainDSImpl->dsmImpl->SetCapability(twainDSImpl, cap, value);
}
HGResult HGAPI HGTwain_GetCapability(HGTwainDS ds, HGUInt cap, HGInt* value)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
return twainDSImpl->dsmImpl->GetCapability(twainDSImpl, cap, value);
}
2022-07-21 08:20:51 +00:00
HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HGBool showUI, HWND parent)
2022-05-03 10:25:52 +00:00
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
2022-07-21 08:20:51 +00:00
return twainDSImpl->dsmImpl->EnableDSUIOnly(twainDSImpl, showUI, parent);
2022-05-03 10:25:52 +00:00
}
2022-07-21 08:20:51 +00:00
HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent)
2022-05-03 10:25:52 +00:00
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
2022-07-21 08:20:51 +00:00
return twainDSImpl->dsmImpl->EnableDS(twainDSImpl, showUI, parent);
2022-05-03 10:25:52 +00:00
}
HGResult HGAPI HGTwain_DisableDS(HGTwainDS ds)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
return twainDSImpl->dsmImpl->DisableDS(twainDSImpl);
}
HGResult HGAPI HGTwain_ImageNativeXfer(HGTwainDS ds, HGUInt type, HGUInt origin, HGImage* image)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
return twainDSImpl->dsmImpl->ImageNativeXfer(twainDSImpl, type, origin, image);
}
HGResult HGAPI HGTwain_EndXfer(HGTwainDS ds, HGUInt* count)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
return twainDSImpl->dsmImpl->EndXfer(twainDSImpl, count);
}
HGResult HGAPI HGTwain_Reset(HGTwainDS ds)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
return twainDSImpl->dsmImpl->Reset(twainDSImpl);
}