code_app/modules/twain_user/HGTwain.cpp

205 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_CreateDSM(HWND hwnd, HGTwainDSM* dsm)
2022-05-03 10:25:52 +00:00
{
if (NULL == dsm)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSMImpl* twainDSMImpl = new HGTwainDSMImpl;
HGResult ret = twainDSMImpl->Create(hwnd);
2022-05-03 10:25:52 +00:00
if (HGBASE_ERR_OK != ret)
{
delete twainDSMImpl;
return ret;
}
*dsm = (HGTwainDSM)twainDSMImpl;
return HGBASE_ERR_OK;
}
HGResult HGAPI HGTwain_DestroyDSM(HGTwainDSM dsm)
2022-05-03 10:25:52 +00:00
{
if (NULL == dsm)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
HGResult ret = twainDSMImpl->Destroy();
2022-05-03 10:25:52 +00:00
if (HGBASE_ERR_OK != ret)
{
return ret;
}
delete twainDSMImpl;
return HGBASE_ERR_OK;
}
HGResult HGAPI HGTwain_GetDSCount(HGTwainDSM dsm, HGUInt* count)
2022-05-03 10:25:52 +00:00
{
if (NULL == dsm)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
return twainDSMImpl->GetDSCount(count);
2022-05-03 10:25:52 +00:00
}
HGResult HGAPI HGTwain_GetDSNameWithIndex(HGTwainDSM dsm, HGUInt index, HGChar* name, HGUInt maxLen)
2022-05-03 10:25:52 +00:00
{
if (NULL == dsm)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
return twainDSMImpl->GetDSName(index, name, maxLen);
2022-05-03 10:25:52 +00:00
}
HGResult HGAPI HGTwain_OpenDS(HGTwainDSM dsm, HGUInt index, HGTwainDS* ds)
2022-05-03 10:25:52 +00:00
{
if (NULL == dsm)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
class HGTwainDSImpl* dsImpl = NULL;
HGResult ret = twainDSMImpl->OpenDS(index, &dsImpl);
if (HGBASE_ERR_OK != ret)
2022-05-03 10:25:52 +00:00
{
return ret;
2022-05-03 10:25:52 +00:00
}
*ds = (HGTwainDS)dsImpl;
return HGBASE_ERR_OK;
2022-05-03 10:25:52 +00:00
}
HGResult HGAPI HGTwain_OpenDefaultDS(HGTwainDSM dsm, HGTwainDS* ds)
2022-05-03 10:25:52 +00:00
{
if (NULL == dsm)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
class HGTwainDSImpl* dsImpl = NULL;
HGResult ret = twainDSMImpl->OpenDefaultDS(&dsImpl);
if (HGBASE_ERR_OK != ret)
2022-05-03 10:25:52 +00:00
{
return ret;
2022-05-03 10:25:52 +00:00
}
*ds = (HGTwainDS)dsImpl;
return HGBASE_ERR_OK;
2022-05-03 10:25:52 +00:00
}
HGResult HGAPI HGTwain_OpenSelectedDS(HGTwainDSM dsm, HGTwainDS* ds)
2022-05-03 10:25:52 +00:00
{
if (NULL == dsm)
2022-05-03 10:25:52 +00:00
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
class HGTwainDSImpl* dsImpl = NULL;
HGResult ret = twainDSMImpl->OpenSelectedDS(&dsImpl);
if (HGBASE_ERR_OK != ret)
2022-05-03 10:25:52 +00:00
{
return ret;
2022-05-03 10:25:52 +00:00
}
*ds = (HGTwainDS)dsImpl;
return HGBASE_ERR_OK;
2022-05-03 10:25:52 +00:00
}
HGResult HGAPI HGTwain_OpenSelectedDSEx(HGTwainDSM dsm, HGTwainDS* ds)
{
if (NULL == dsm)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
class HGTwainDSImpl* dsImpl = NULL;
HGResult ret = twainDSMImpl->OpenSelectedDSEx(&dsImpl);
if (HGBASE_ERR_OK != ret)
{
return ret;
}
*ds = (HGTwainDS)dsImpl;
return HGBASE_ERR_OK;
}
HGResult HGAPI HGTwain_CloseDS(HGTwainDS ds)
2022-05-03 10:25:52 +00:00
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
return twainDSImpl->Close();
2022-05-03 10:25:52 +00:00
}
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_GetDSDeviceCustomInfo(HGTwainDS ds, HGTwainDeviceCustomInfo *info)
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
return twainDSImpl->GetDeviceCustomInfo(info);
}
2023-03-27 06:24:18 +00:00
HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam)
2022-05-03 10:25:52 +00:00
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
2023-03-27 03:42:08 +00:00
return twainDSImpl->EnableUIOnly(parent, eventFunc, eventParam);
2022-05-03 10:25:52 +00:00
}
2023-03-27 06:24:18 +00:00
HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam,
HGDSImageFunc imageFunc, HGPointer imageParam)
2022-05-03 10:25:52 +00:00
{
if (NULL == ds)
{
return HGBASE_ERR_INVALIDARG;
}
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
return twainDSImpl->Enable(showUI, parent, eventFunc, eventParam, imageFunc, imageParam);
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();
}