code_app/modules/twain_user/HGTwain.cpp

215 lines
4.2 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;
}
2023-03-25 10:03:47 +00:00
HGResult HGAPI HGTwain_OpenDSM(HGTwainDSM dsm, HWND hwnd)
2022-05-03 10:25:52 +00:00
{
if (NULL == dsm)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
2023-03-25 10:03:47 +00:00
return twainDSMImpl->OpenDSM(hwnd);
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;
2023-03-25 10:03:47 +00:00
return twainDSImpl->GetName(name, maxLen);
2022-05-03 10:25:52 +00:00
}
HGResult HGAPI HGTwain_OpenDS(HGTwainDS ds)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
2023-03-25 10:03:47 +00:00
return twainDSImpl->Open();
2022-05-03 10:25:52 +00:00
}
HGResult HGAPI HGTwain_CloseDS(HGTwainDS ds)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
2023-03-25 10:03:47 +00:00
return twainDSImpl->Close();
2022-05-03 10:25:52 +00:00
}
HGResult HGAPI HGTwain_SetCapability(HGTwainDS ds, HGUInt cap, HGInt value)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
2023-03-25 10:03:47 +00:00
return twainDSImpl->SetCap(cap, value);
2022-05-03 10:25:52 +00:00
}
HGResult HGAPI HGTwain_GetCapability(HGTwainDS ds, HGUInt cap, HGInt* value)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
2023-03-25 10:03:47 +00:00
return twainDSImpl->GetCap(cap, value);
2022-05-03 10:25:52 +00:00
}
2023-03-25 10:03:47 +00:00
HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HGBool showUI, HWND parent, HGDSEventFunc func, HGPointer param)
2022-05-03 10:25:52 +00:00
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
2023-03-25 10:03:47 +00:00
return twainDSImpl->EnableUIOnly(showUI, parent, func, param);
2022-05-03 10:25:52 +00:00
}
2023-03-25 10:03:47 +00:00
HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent, HGDSEventFunc func, HGPointer param)
2022-05-03 10:25:52 +00:00
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
2023-03-25 10:03:47 +00:00
return twainDSImpl->Enable(showUI, parent, func, param);
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;
2023-03-25 10:03:47 +00:00
return twainDSImpl->Disable();
2022-05-03 10:25:52 +00:00
}
HGResult HGAPI HGTwain_ImageNativeXfer(HGTwainDS ds, HGUInt type, HGUInt origin, HGImage* image)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
2023-03-25 10:03:47 +00:00
return twainDSImpl->ImageNativeXfer(type, origin, image);
2022-05-03 10:25:52 +00:00
}
HGResult HGAPI HGTwain_EndXfer(HGTwainDS ds, HGUInt* count)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
2023-03-25 10:03:47 +00:00
return twainDSImpl->EndXfer(count);
2022-05-03 10:25:52 +00:00
}
HGResult HGAPI HGTwain_Reset(HGTwainDS ds)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
2023-03-25 10:03:47 +00:00
return twainDSImpl->Reset();
2022-05-03 10:25:52 +00:00
}