app、web全部增加日志工程
This commit is contained in:
parent
746dc6a7d1
commit
572a0ce409
|
@ -1,11 +1,13 @@
|
||||||
#include "dialog_updateprogress.h"
|
#include "dialog_updateprogress.h"
|
||||||
#include "ui_dialog_updateprogress.h"
|
#include "ui_dialog_updateprogress.h"
|
||||||
#include "base/HGInfo.h"
|
#include "log/log.h"
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QCryptographicHash>
|
#include <QCryptographicHash>
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
Dialog_updateProgress::Dialog_updateProgress(HGVersionMgr versionMgr, const QString &url,
|
Dialog_updateProgress::Dialog_updateProgress(HGVersionMgr versionMgr, const QString &url,
|
||||||
const QString &savePath, QWidget *parent) :
|
const QString &savePath, QWidget *parent) :
|
||||||
QDialog(parent)
|
QDialog(parent)
|
||||||
|
@ -60,8 +62,7 @@ void HGAPI Dialog_updateProgress::ThreadFunc(HGThread thread, HGPointer param)
|
||||||
if (HGBASE_ERR_OK != ret)
|
if (HGBASE_ERR_OK != ret)
|
||||||
{
|
{
|
||||||
QFile::remove(p->m_savePath.toStdString().c_str());
|
QFile::remove(p->m_savePath.toStdString().c_str());
|
||||||
|
ErrorLog(g_hLog, "UpgradeHttpDownload:%u", ret);
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "UpgradeHttpDownload:%u", ret);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
emit p->finish();
|
emit p->finish();
|
||||||
|
|
|
@ -18,12 +18,8 @@
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
HGResult GetConfigPath(HGChar* configPath, HGUInt maxLen)
|
#include "log/log.h"
|
||||||
{
|
HLOG g_hLog = nullptr;
|
||||||
if (NULL == configPath || 0 == maxLen)
|
|
||||||
{
|
|
||||||
return HGBASE_ERR_INVALIDARG;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char *appName = "HuaGoScan";
|
const char *appName = "HuaGoScan";
|
||||||
#if defined(OEM_HANWANG)
|
#if defined(OEM_HANWANG)
|
||||||
|
@ -42,6 +38,13 @@ HGResult GetConfigPath(HGChar* configPath, HGUInt maxLen)
|
||||||
appName = "NeuScan";
|
appName = "NeuScan";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
HGResult GetConfigPath(HGChar* configPath, HGUInt maxLen)
|
||||||
|
{
|
||||||
|
if (NULL == configPath || 0 == maxLen)
|
||||||
|
{
|
||||||
|
return HGBASE_ERR_INVALIDARG;
|
||||||
|
}
|
||||||
|
|
||||||
#if defined(HG_CMP_MSC)
|
#if defined(HG_CMP_MSC)
|
||||||
CHAR cfgPath[MAX_PATH] = { 0 };
|
CHAR cfgPath[MAX_PATH] = { 0 };
|
||||||
BOOL ret = SHGetSpecialFolderPathA(NULL, cfgPath, CSIDL_APPDATA, FALSE);
|
BOOL ret = SHGetSpecialFolderPathA(NULL, cfgPath, CSIDL_APPDATA, FALSE);
|
||||||
|
@ -104,6 +107,8 @@ int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
QApplication a(argc, argv);
|
QApplication a(argc, argv);
|
||||||
|
|
||||||
|
g_hLog = EnableLog(NULL, appName, "app");
|
||||||
|
|
||||||
HGChar cfgPath[256]= {0};
|
HGChar cfgPath[256]= {0};
|
||||||
GetConfigPath(cfgPath, 256);
|
GetConfigPath(cfgPath, 256);
|
||||||
strcat(cfgPath, "config.ini");
|
strcat(cfgPath, "config.ini");
|
||||||
|
@ -152,5 +157,8 @@ int main(int argc, char *argv[])
|
||||||
a.exec();
|
a.exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DisableLog(g_hLog);
|
||||||
|
g_hLog = nullptr;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
#include "dialog_exportimagefile.h"
|
#include "dialog_exportimagefile.h"
|
||||||
#include "ui_dialog_exportimagefile.h"
|
#include "ui_dialog_exportimagefile.h"
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include "base/HGInfo.h"
|
|
||||||
#include "base/HGUtility.h"
|
#include "base/HGUtility.h"
|
||||||
#include "imgfmt/HGImgFmt.h"
|
#include "imgfmt/HGImgFmt.h"
|
||||||
#include "imgfmt/HGGif.h"
|
#include "imgfmt/HGGif.h"
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
#include "dialog_logmanager.h"
|
#include "dialog_logmanager.h"
|
||||||
#include "ui_dialog_logmanager.h"
|
#include "ui_dialog_logmanager.h"
|
||||||
#include "base/HGUtility.h"
|
#include "base/HGUtility.h"
|
||||||
#include "base/HGInfo.h"
|
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
|
@ -83,13 +82,11 @@ void Dialog_LogManager::on_btn_clear_clicked()
|
||||||
QFileInfoList log_list;
|
QFileInfoList log_list;
|
||||||
log_list = dir.entryInfoList(filter, QDir::Files);
|
log_list = dir.entryInfoList(filter, QDir::Files);
|
||||||
|
|
||||||
HGBase_DisableInfo();
|
|
||||||
foreach(QFileInfo info, log_list)
|
foreach(QFileInfo info, log_list)
|
||||||
{
|
{
|
||||||
QFile file(info.absoluteFilePath());
|
QFile file(info.absoluteFilePath());
|
||||||
file.remove();
|
file.remove();
|
||||||
}
|
}
|
||||||
HGBase_EnableInfo();
|
|
||||||
|
|
||||||
//清空列表显示
|
//清空列表显示
|
||||||
ui->listWidget->clear();
|
ui->listWidget->clear();
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
#include "dialog_updateprogress.h"
|
#include "dialog_updateprogress.h"
|
||||||
#include "ui_dialog_updateprogress.h"
|
#include "ui_dialog_updateprogress.h"
|
||||||
#include "base/HGInfo.h"
|
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QCryptographicHash>
|
#include <QCryptographicHash>
|
||||||
|
|
||||||
|
#include "log/log.h"
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
Dialog_updateProgress::Dialog_updateProgress(VersionDll *dll, const QString &url,
|
Dialog_updateProgress::Dialog_updateProgress(VersionDll *dll, const QString &url,
|
||||||
const QString &savePath, QWidget *parent) :
|
const QString &savePath, QWidget *parent) :
|
||||||
QDialog(parent)
|
QDialog(parent)
|
||||||
|
@ -61,7 +63,7 @@ void HGAPI Dialog_updateProgress::ThreadFunc(HGThread thread, HGPointer param)
|
||||||
{
|
{
|
||||||
QFile::remove(p->m_savePath.toStdString().c_str());
|
QFile::remove(p->m_savePath.toStdString().c_str());
|
||||||
|
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "UpgradeHttpDownload:%u", ret);
|
ErrorLog(g_hLog, "UpgradeHttpDownload:%u", ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
emit p->finish();
|
emit p->finish();
|
||||||
|
|
|
@ -5,11 +5,32 @@
|
||||||
#include <QScreen>
|
#include <QScreen>
|
||||||
#include "app_cfg.h"
|
#include "app_cfg.h"
|
||||||
#include "lang/app_language.h"
|
#include "lang/app_language.h"
|
||||||
|
#include "log/log.h"
|
||||||
|
HLOG g_hLog = nullptr;
|
||||||
|
|
||||||
|
#if defined(OEM_HANWANG)
|
||||||
|
const char* oem = "HanvonScan";
|
||||||
|
#elif defined(OEM_LISICHENG)
|
||||||
|
const char* oem = "LanxumScan";
|
||||||
|
#elif defined(OEM_CANGTIAN)
|
||||||
|
const char* oem = "CumtennScan";
|
||||||
|
#elif defined(OEM_ZHONGJING)
|
||||||
|
const char* oem = "MicrotekScan";
|
||||||
|
#elif defined(OEM_ZIGUANG)
|
||||||
|
const char* oem = "UniScan";
|
||||||
|
#elif defined(OEM_NEUTRAL)
|
||||||
|
const char* oem = "NeuScan";
|
||||||
|
#elif defined(OEM_DELI)
|
||||||
|
const char* oem = "DeliScan";
|
||||||
|
#else
|
||||||
|
const char* oem = "HuaGoScan";
|
||||||
|
#endif
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
QApplication a(argc, argv);
|
QApplication a(argc, argv);
|
||||||
|
|
||||||
|
g_hLog = EnableLog(NULL, oem, "app");
|
||||||
lang_initialize(nullptr);
|
lang_initialize(nullptr);
|
||||||
|
|
||||||
QString appLang = getCfgValue("global", "language", QString("chinese"));
|
QString appLang = getCfgValue("global", "language", QString("chinese"));
|
||||||
|
@ -68,5 +89,10 @@ int main(int argc, char *argv[])
|
||||||
QScreen *screen = QGuiApplication::primaryScreen();
|
QScreen *screen = QGuiApplication::primaryScreen();
|
||||||
w.move((screen->size().width() - w.width()) / 2, (screen->size().height() - w.height()) / 2);
|
w.move((screen->size().width() - w.width()) / 2, (screen->size().height() - w.height()) / 2);
|
||||||
w.show();
|
w.show();
|
||||||
return a.exec();
|
int ret = a.exec();
|
||||||
|
|
||||||
|
DisableLog(g_hLog);
|
||||||
|
g_hLog = nullptr;
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include "dialog_savemessagebox.h"
|
#include "dialog_savemessagebox.h"
|
||||||
#include "dialog_waitingocr.h"
|
#include "dialog_waitingocr.h"
|
||||||
#include "dialog_abnormalimage.h"
|
#include "dialog_abnormalimage.h"
|
||||||
#include "base/HGInfo.h"
|
|
||||||
#include "huagao/hgscanner_error.h"
|
#include "huagao/hgscanner_error.h"
|
||||||
#include "base/HGTime.h"
|
#include "base/HGTime.h"
|
||||||
#include "imgfmt/HGPdf.h"
|
#include "imgfmt/HGPdf.h"
|
||||||
|
@ -3441,12 +3440,12 @@ static int getDays(int year, int month)
|
||||||
static int getPatchVersion()
|
static int getPatchVersion()
|
||||||
{
|
{
|
||||||
const char *buildDate = __DATE__;
|
const char *buildDate = __DATE__;
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "buildDate: %s", buildDate);
|
ErrorLog(g_hLog, "buildDate: %s", buildDate);
|
||||||
QDate date = QLocale(QLocale::English).toDate(QString(buildDate).replace(" ", " 0"), "MMM dd yyyy");
|
QDate date = QLocale(QLocale::English).toDate(QString(buildDate).replace(" ", " 0"), "MMM dd yyyy");
|
||||||
int year = date.year();
|
int year = date.year();
|
||||||
int day = date.day();
|
int day = date.day();
|
||||||
int month = date.month();
|
int month = date.month();
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "buildDate: %d %d %d", year, month, day);
|
ErrorLog(g_hLog, "buildDate: %d %d %d", year, month, day);
|
||||||
|
|
||||||
int ret = year % 100;
|
int ret = year % 100;
|
||||||
ret *= 1000;
|
ret *= 1000;
|
||||||
|
@ -4044,7 +4043,7 @@ bool MainWindow::judgeDiskSpace(QString currentPath)
|
||||||
available_size = storage.bytesAvailable()/1024/1024;
|
available_size = storage.bytesAvailable()/1024/1024;
|
||||||
if(available_size < 1024)
|
if(available_size < 1024)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "disk space is unsufficient!");
|
ErrorLog(g_hLog, "disk space is unsufficient!");
|
||||||
QMessageBox msg(QMessageBox::Warning, tr("tips"), tr("Detected that there is less than 1GB of disk space. Do you want to continue?"),
|
QMessageBox msg(QMessageBox::Warning, tr("tips"), tr("Detected that there is less than 1GB of disk space. Do you want to continue?"),
|
||||||
QMessageBox::Yes | QMessageBox::No, this);
|
QMessageBox::Yes | QMessageBox::No, this);
|
||||||
msg.exec();
|
msg.exec();
|
||||||
|
@ -4817,7 +4816,7 @@ void MainWindow::on_actionact_update_triggered()
|
||||||
HGResult ret = m_versionDll->GetVersionList(HGVERSION_APPNAME_SCANNER, m_oemName, &versionInfo, &versionCount);
|
HGResult ret = m_versionDll->GetVersionList(HGVERSION_APPNAME_SCANNER, m_oemName, &versionInfo, &versionCount);
|
||||||
if (ret != HGBASE_ERR_OK)
|
if (ret != HGBASE_ERR_OK)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "GetVersionList:%u", ret);
|
ErrorLog(g_hLog, "GetVersionList:%u", ret);
|
||||||
}
|
}
|
||||||
if(versionCount > 0)
|
if(versionCount > 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,6 +17,9 @@
|
||||||
#include "VersionDll.h"
|
#include "VersionDll.h"
|
||||||
#include "device_user.h"
|
#include "device_user.h"
|
||||||
|
|
||||||
|
#include "log/log.h"
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
namespace Ui { class MainWindow; }
|
namespace Ui { class MainWindow; }
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
#include "ui_mainwindow.h"
|
#include "ui_mainwindow.h"
|
||||||
#include "base/HGDef.h"
|
#include "base/HGDef.h"
|
||||||
#include "base/HGInc.h"
|
#include "base/HGInc.h"
|
||||||
#include "base/HGInfo.h"
|
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QMovie>
|
#include <QMovie>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
|
|
@ -31,11 +31,6 @@ HGBase_LeaveLock
|
||||||
HGBase_OpenThread
|
HGBase_OpenThread
|
||||||
HGBase_CloseThread
|
HGBase_CloseThread
|
||||||
|
|
||||||
HGBase_OpenLog
|
|
||||||
HGBase_CloseLog
|
|
||||||
HGBase_GetLogFileSize
|
|
||||||
HGBase_WriteLog
|
|
||||||
|
|
||||||
HGBase_OpenNamedPipeServer
|
HGBase_OpenNamedPipeServer
|
||||||
HGBase_CloseNamedPipeServer
|
HGBase_CloseNamedPipeServer
|
||||||
HGBase_NamedPipeServerWrite
|
HGBase_NamedPipeServerWrite
|
||||||
|
@ -47,14 +42,6 @@ HGBase_NamedPipeClientWrite
|
||||||
HGBase_NamedPipeClientRead
|
HGBase_NamedPipeClientRead
|
||||||
HGBase_NamedPipeClientStop
|
HGBase_NamedPipeClientStop
|
||||||
|
|
||||||
HGBase_OpenConsole
|
|
||||||
HGBase_CloseConsole
|
|
||||||
HGBase_WriteConsole
|
|
||||||
|
|
||||||
HGBase_EnableInfo
|
|
||||||
HGBase_DisableInfo
|
|
||||||
HGBase_WriteInfo
|
|
||||||
|
|
||||||
HGBase_GetLocalTime
|
HGBase_GetLocalTime
|
||||||
HGBase_GetTickCount
|
HGBase_GetTickCount
|
||||||
HGBase_GetIntervalSeconds
|
HGBase_GetIntervalSeconds
|
||||||
|
|
|
@ -52,6 +52,7 @@ win32 {
|
||||||
|
|
||||||
DEF_FILE = HGBase.def
|
DEF_FILE = HGBase.def
|
||||||
LIBS += -lgdi32 -lgdiplus -ldbghelp
|
LIBS += -lgdi32 -lgdiplus -ldbghelp
|
||||||
|
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lcommonlog
|
||||||
}
|
}
|
||||||
|
|
||||||
unix {
|
unix {
|
||||||
|
@ -94,8 +95,11 @@ unix {
|
||||||
LIBS += -lpthread -ldl
|
LIBS += -lpthread -ldl
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/libuuid/$${MY_OS}/$${MY_ARCH}/include
|
INCLUDEPATH += $$PWD/../../../third_party/libuuid/$${MY_OS}/$${MY_ARCH}/include
|
||||||
LIBS += $$PWD/../../../third_party/libuuid/$${MY_OS}/$${MY_ARCH}/lib/libuuid.a
|
LIBS += $$PWD/../../../third_party/libuuid/$${MY_OS}/$${MY_ARCH}/lib/libuuid.a
|
||||||
|
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lcommonlog
|
||||||
}
|
}
|
||||||
|
|
||||||
|
INCLUDEPATH += $$PWD/../../../../sdk/include
|
||||||
|
|
||||||
DESTDIR = $$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}
|
DESTDIR = $$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}
|
||||||
UI_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET}
|
UI_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET}
|
||||||
MOC_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET}
|
MOC_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET}
|
||||||
|
@ -166,17 +170,13 @@ unix {
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
../../../modules/base/HGBase64.cpp \
|
../../../modules/base/HGBase64.cpp \
|
||||||
../../../modules/base/HGBuffer.cpp \
|
../../../modules/base/HGBuffer.cpp \
|
||||||
../../../modules/base/HGConsole.cpp \
|
|
||||||
../../../modules/base/HGCrash.cpp \
|
../../../modules/base/HGCrash.cpp \
|
||||||
../../../modules/base/HGDes.cpp \
|
../../../modules/base/HGDes.cpp \
|
||||||
../../../modules/base/HGDll.cpp \
|
../../../modules/base/HGDll.cpp \
|
||||||
../../../modules/base/HGEvent.cpp \
|
../../../modules/base/HGEvent.cpp \
|
||||||
../../../modules/base/HGImage.cpp \
|
../../../modules/base/HGImage.cpp \
|
||||||
../../../modules/base/HGInfo.cpp \
|
|
||||||
../../../modules/base/HGInfoImpl.cpp \
|
|
||||||
../../../modules/base/HGIni.cpp \
|
../../../modules/base/HGIni.cpp \
|
||||||
../../../modules/base/HGLock.cpp \
|
../../../modules/base/HGLock.cpp \
|
||||||
../../../modules/base/HGLog.cpp \
|
|
||||||
../../../modules/base/HGMd5.cpp \
|
../../../modules/base/HGMd5.cpp \
|
||||||
../../../modules/base/HGMsgPump.cpp \
|
../../../modules/base/HGMsgPump.cpp \
|
||||||
../../../modules/base/HGMsgPumpImpl.cpp \
|
../../../modules/base/HGMsgPumpImpl.cpp \
|
||||||
|
@ -191,7 +191,6 @@ HEADERS += \
|
||||||
../../../modules/base/HGBase64.h \
|
../../../modules/base/HGBase64.h \
|
||||||
../../../modules/base/HGBaseErr.h \
|
../../../modules/base/HGBaseErr.h \
|
||||||
../../../modules/base/HGBuffer.h \
|
../../../modules/base/HGBuffer.h \
|
||||||
../../../modules/base/HGConsole.h \
|
|
||||||
../../../modules/base/HGCrash.h \
|
../../../modules/base/HGCrash.h \
|
||||||
../../../modules/base/HGDef.h \
|
../../../modules/base/HGDef.h \
|
||||||
../../../modules/base/HGDes.h \
|
../../../modules/base/HGDes.h \
|
||||||
|
@ -199,11 +198,8 @@ HEADERS += \
|
||||||
../../../modules/base/HGEvent.h \
|
../../../modules/base/HGEvent.h \
|
||||||
../../../modules/base/HGImage.h \
|
../../../modules/base/HGImage.h \
|
||||||
../../../modules/base/HGInc.h \
|
../../../modules/base/HGInc.h \
|
||||||
../../../modules/base/HGInfo.h \
|
|
||||||
../../../modules/base/HGInfoImpl.hpp \
|
|
||||||
../../../modules/base/HGIni.h \
|
../../../modules/base/HGIni.h \
|
||||||
../../../modules/base/HGLock.h \
|
../../../modules/base/HGLock.h \
|
||||||
../../../modules/base/HGLog.h \
|
|
||||||
../../../modules/base/HGMd5.h \
|
../../../modules/base/HGMd5.h \
|
||||||
../../../modules/base/HGMsgPump.h \
|
../../../modules/base/HGMsgPump.h \
|
||||||
../../../modules/base/HGMsgPumpImpl.hpp \
|
../../../modules/base/HGMsgPumpImpl.hpp \
|
||||||
|
|
|
@ -55,6 +55,7 @@ win32 {
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base -l$${OEM_PREFIX}ImgFmt \
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base -l$${OEM_PREFIX}ImgFmt \
|
||||||
-l$${OEM_PREFIX}ImgProc -l$${OEM_PREFIX}Version
|
-l$${OEM_PREFIX}ImgProc -l$${OEM_PREFIX}Version
|
||||||
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lsanexy
|
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lsanexy
|
||||||
|
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lcommonlog
|
||||||
|
|
||||||
# sane.dll
|
# sane.dll
|
||||||
LIBS += -L$$PWD/../../../../release/win/$${MY_ARCH}/OEM/$${OEM_NAME}
|
LIBS += -L$$PWD/../../../../release/win/$${MY_ARCH}/OEM/$${OEM_NAME}
|
||||||
|
@ -101,6 +102,7 @@ unix {
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base -l$${OEM_PREFIX2}ImgFmt \
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base -l$${OEM_PREFIX2}ImgFmt \
|
||||||
-l$${OEM_PREFIX2}ImgProc -l$${OEM_PREFIX2}Version
|
-l$${OEM_PREFIX2}ImgProc -l$${OEM_PREFIX2}Version
|
||||||
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lsane-$${OEM_PREFIX3}sane
|
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lsane-$${OEM_PREFIX3}sane
|
||||||
|
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lcommonlog
|
||||||
}
|
}
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/../../../modules
|
INCLUDEPATH += $$PWD/../../../modules
|
||||||
|
|
|
@ -57,6 +57,7 @@ win32 {
|
||||||
DEF_FILE = HGImgFmt.def
|
DEF_FILE = HGImgFmt.def
|
||||||
LIBS += -lgdi32 -lgdiplus -ldbghelp -lAdvapi32
|
LIBS += -lgdi32 -lgdiplus -ldbghelp -lAdvapi32
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base
|
||||||
|
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lcommonlog
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/libjpeg-turbo/$${MY_OS}/include
|
INCLUDEPATH += $$PWD/../../../third_party/libjpeg-turbo/$${MY_OS}/include
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/libnsbmp/$${MY_OS}/include
|
INCLUDEPATH += $$PWD/../../../third_party/libnsbmp/$${MY_OS}/include
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/libpng/$${MY_OS}/include
|
INCLUDEPATH += $$PWD/../../../third_party/libpng/$${MY_OS}/include
|
||||||
|
@ -118,6 +119,7 @@ unix {
|
||||||
|
|
||||||
LIBS += -lpthread -ldl
|
LIBS += -lpthread -ldl
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base
|
||||||
|
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lcommonlog
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/libjpeg-turbo/$${MY_OS}/$${MY_ARCH}/include
|
INCLUDEPATH += $$PWD/../../../third_party/libjpeg-turbo/$${MY_OS}/$${MY_ARCH}/include
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/libnsbmp/$${MY_OS}/$${MY_ARCH}/include
|
INCLUDEPATH += $$PWD/../../../third_party/libnsbmp/$${MY_OS}/$${MY_ARCH}/include
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/zlib/$${MY_OS}/$${MY_ARCH}/include
|
INCLUDEPATH += $$PWD/../../../third_party/zlib/$${MY_OS}/$${MY_ARCH}/include
|
||||||
|
@ -143,6 +145,7 @@ unix {
|
||||||
}
|
}
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/../../../utility
|
INCLUDEPATH += $$PWD/../../../utility
|
||||||
|
INCLUDEPATH += $$PWD/../../../../sdk/include
|
||||||
|
|
||||||
DESTDIR = $$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}
|
DESTDIR = $$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}
|
||||||
UI_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET}
|
UI_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET}
|
||||||
|
|
|
@ -69,6 +69,7 @@ win32 {
|
||||||
DEF_FILE = HGImgProc.def
|
DEF_FILE = HGImgProc.def
|
||||||
LIBS += -lgdi32 -lgdiplus -ldbghelp
|
LIBS += -lgdi32 -lgdiplus -ldbghelp
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base -l$${OEM_PREFIX}ImgFmt
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base -l$${OEM_PREFIX}ImgFmt
|
||||||
|
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lcommonlog
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/opencv/$${MY_OS}/include
|
INCLUDEPATH += $$PWD/../../../third_party/opencv/$${MY_OS}/include
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/freetype/$${MY_OS}/include
|
INCLUDEPATH += $$PWD/../../../third_party/freetype/$${MY_OS}/include
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/ocr/hanvon/$${MY_OS}/include
|
INCLUDEPATH += $$PWD/../../../third_party/ocr/hanvon/$${MY_OS}/include
|
||||||
|
@ -148,6 +149,7 @@ unix {
|
||||||
|
|
||||||
LIBS += -lpthread -ldl
|
LIBS += -lpthread -ldl
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base -l$${OEM_PREFIX2}ImgFmt
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base -l$${OEM_PREFIX2}ImgFmt
|
||||||
|
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lcommonlog
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/opencv/$${MY_OS}/$${MY_ARCH}/include
|
INCLUDEPATH += $$PWD/../../../third_party/opencv/$${MY_OS}/$${MY_ARCH}/include
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/freetype/$${MY_OS}/$${MY_ARCH}/include/freetype2
|
INCLUDEPATH += $$PWD/../../../third_party/freetype/$${MY_OS}/$${MY_ARCH}/include/freetype2
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/ocr/hanvon/$${MY_OS}/$${MY_ARCH}/include
|
INCLUDEPATH += $$PWD/../../../third_party/ocr/hanvon/$${MY_OS}/$${MY_ARCH}/include
|
||||||
|
@ -161,6 +163,7 @@ unix {
|
||||||
}
|
}
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/../../../utility
|
INCLUDEPATH += $$PWD/../../../utility
|
||||||
|
INCLUDEPATH += $$PWD/../../../../sdk/include
|
||||||
|
|
||||||
DESTDIR = $$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}
|
DESTDIR = $$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}
|
||||||
UI_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET}
|
UI_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET}
|
||||||
|
@ -250,6 +253,7 @@ SOURCES += \
|
||||||
../../../modules/imgproc/ImageProcess/ImageApplyHSVCorrect.cpp \
|
../../../modules/imgproc/ImageProcess/ImageApplyHSVCorrect.cpp \
|
||||||
../../../modules/imgproc/ImageProcess/ImageApplyOutHole.cpp \
|
../../../modules/imgproc/ImageProcess/ImageApplyOutHole.cpp \
|
||||||
../../../modules/imgproc/ImageProcess/ImageProcess_Public.cpp \
|
../../../modules/imgproc/ImageProcess/ImageProcess_Public.cpp \
|
||||||
|
../../../modules/imgproc/dllmain.cpp \
|
||||||
../../../utility/HGString.cpp
|
../../../utility/HGString.cpp
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
|
|
|
@ -90,6 +90,7 @@ win32 {
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base -l$${OEM_PREFIX}ImgFmt -l$${OEM_PREFIX}ImgProc\
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base -l$${OEM_PREFIX}ImgFmt -l$${OEM_PREFIX}ImgProc\
|
||||||
-l$${OEM_PREFIX}TwainUser
|
-l$${OEM_PREFIX}TwainUser
|
||||||
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lyuyanbao
|
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lyuyanbao
|
||||||
|
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lcommonlog
|
||||||
|
|
||||||
# sane.dll
|
# sane.dll
|
||||||
LIBS += -L$$PWD/../../../../release/win/$${MY_ARCH}/OEM/$${OEM_NAME}
|
LIBS += -L$$PWD/../../../../release/win/$${MY_ARCH}/OEM/$${OEM_NAME}
|
||||||
|
@ -141,6 +142,7 @@ unix {
|
||||||
-l$${OEM_PREFIX2}TwainUI -l$${OEM_PREFIX2}SaneUser
|
-l$${OEM_PREFIX2}TwainUI -l$${OEM_PREFIX2}SaneUser
|
||||||
|
|
||||||
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lyuyanbao
|
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lyuyanbao
|
||||||
|
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lcommonlog
|
||||||
}
|
}
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/../../../app/scanner2
|
INCLUDEPATH += $$PWD/../../../app/scanner2
|
||||||
|
|
|
@ -56,6 +56,7 @@ win32 {
|
||||||
LIBS += -lgdi32 -lgdiplus -ldbghelp
|
LIBS += -lgdi32 -lgdiplus -ldbghelp
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base -l$${OEM_PREFIX}ImgFmt -l$${OEM_PREFIX}ImgProc
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base -l$${OEM_PREFIX}ImgFmt -l$${OEM_PREFIX}ImgProc
|
||||||
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lsanexy
|
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lsanexy
|
||||||
|
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lcommonlog
|
||||||
}
|
}
|
||||||
|
|
||||||
unix {
|
unix {
|
||||||
|
@ -100,6 +101,7 @@ unix {
|
||||||
LIBS += -lpthread -ldl
|
LIBS += -lpthread -ldl
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base -l$${OEM_PREFIX2}ImgFmt -l$${OEM_PREFIX2}ImgProc
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base -l$${OEM_PREFIX2}ImgFmt -l$${OEM_PREFIX2}ImgProc
|
||||||
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lsane-$${OEM_PREFIX3}sane
|
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lsane-$${OEM_PREFIX3}sane
|
||||||
|
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lcommonlog
|
||||||
}
|
}
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/../../../utility
|
INCLUDEPATH += $$PWD/../../../utility
|
||||||
|
@ -182,6 +184,7 @@ SOURCES += \
|
||||||
../../../sdk/scannerlib/HGLibDeviceImpl.cpp \
|
../../../sdk/scannerlib/HGLibDeviceImpl.cpp \
|
||||||
../../../sdk/scannerlib/HGScannerLib.cpp \
|
../../../sdk/scannerlib/HGScannerLib.cpp \
|
||||||
../../../sdk/scannerlib/HGScannerLibJni.cpp \
|
../../../sdk/scannerlib/HGScannerLibJni.cpp \
|
||||||
|
../../../sdk/scannerlib/dllmain.cpp \
|
||||||
../../../utility/HGString.cpp
|
../../../utility/HGString.cpp
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
|
|
|
@ -58,6 +58,7 @@ win32 {
|
||||||
LIBS += -lgdi32 -lgdiplus -ldbghelp -luser32 -lShell32
|
LIBS += -lgdi32 -lgdiplus -ldbghelp -luser32 -lShell32
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base
|
||||||
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lyuyanbao
|
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lyuyanbao
|
||||||
|
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lcommonlog
|
||||||
}
|
}
|
||||||
|
|
||||||
unix {
|
unix {
|
||||||
|
@ -105,6 +106,7 @@ unix {
|
||||||
LIBS += -lpthread -ldl
|
LIBS += -lpthread -ldl
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base
|
||||||
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lyuyanbao
|
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lyuyanbao
|
||||||
|
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lcommonlog
|
||||||
}
|
}
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/../../../modules
|
INCLUDEPATH += $$PWD/../../../modules
|
||||||
|
|
|
@ -56,6 +56,7 @@ win32 {
|
||||||
DEF_FILE = HGVersion.def
|
DEF_FILE = HGVersion.def
|
||||||
LIBS += -lgdi32 -lgdiplus -ldbghelp -lws2_32 -lwldap32 -lIphlpapi -ladvapi32 -lshell32
|
LIBS += -lgdi32 -lgdiplus -ldbghelp -lws2_32 -lwldap32 -lIphlpapi -ladvapi32 -lshell32
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base
|
||||||
|
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lcommonlog
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/libcurl/$${MY_OS}/include
|
INCLUDEPATH += $$PWD/../../../third_party/libcurl/$${MY_OS}/include
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,6 +99,7 @@ unix {
|
||||||
QMAKE_LFLAGS += -z defs -B direct
|
QMAKE_LFLAGS += -z defs -B direct
|
||||||
|
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base
|
||||||
|
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lcommonlog
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/libcurl/$${MY_OS}/$${MY_ARCH}/include
|
INCLUDEPATH += $$PWD/../../../third_party/libcurl/$${MY_OS}/$${MY_ARCH}/include
|
||||||
LIBS += $$PWD/../../../third_party/libcurl/$${MY_OS}/$${MY_ARCH}/lib/libcurl.a
|
LIBS += $$PWD/../../../third_party/libcurl/$${MY_OS}/$${MY_ARCH}/lib/libcurl.a
|
||||||
LIBS += $$PWD/../../../third_party/libzip/$${MY_OS}/$${MY_ARCH}/lib/libzip.a
|
LIBS += $$PWD/../../../third_party/libzip/$${MY_OS}/$${MY_ARCH}/lib/libzip.a
|
||||||
|
@ -107,6 +109,7 @@ unix {
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/json
|
INCLUDEPATH += $$PWD/../../../third_party/json
|
||||||
INCLUDEPATH += $$PWD/../../../utility
|
INCLUDEPATH += $$PWD/../../../utility
|
||||||
|
INCLUDEPATH += $$PWD/../../../../sdk/include
|
||||||
|
|
||||||
DESTDIR = $$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}
|
DESTDIR = $$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}
|
||||||
UI_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET}
|
UI_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET}
|
||||||
|
@ -178,6 +181,7 @@ unix {
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
../../../modules/version/HGVersion.cpp \
|
../../../modules/version/HGVersion.cpp \
|
||||||
../../../modules/version/HGVersionImpl.cpp \
|
../../../modules/version/HGVersionImpl.cpp \
|
||||||
|
../../../modules/version/dllmain.cpp \
|
||||||
../../../third_party/json/cJSON.c \
|
../../../third_party/json/cJSON.c \
|
||||||
../../../utility/HGString.cpp
|
../../../utility/HGString.cpp
|
||||||
|
|
||||||
|
|
|
@ -62,6 +62,7 @@ win32 {
|
||||||
LIBS += -lgdi32 -lgdiplus -ldbghelp -lws2_32 -lShell32 -lUser32 -lwldap32 -lAdvapi32
|
LIBS += -lgdi32 -lgdiplus -ldbghelp -lws2_32 -lShell32 -lUser32 -lwldap32 -lAdvapi32
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base -l$${OEM_PREFIX}ImgFmt -l$${OEM_PREFIX}ImgProc
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base -l$${OEM_PREFIX}ImgFmt -l$${OEM_PREFIX}ImgProc
|
||||||
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lsanexy
|
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lsanexy
|
||||||
|
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lcommonlog
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/libzip/$${MY_OS}/include
|
INCLUDEPATH += $$PWD/../../../third_party/libzip/$${MY_OS}/include
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/libcurl/$${MY_OS}/include
|
INCLUDEPATH += $$PWD/../../../third_party/libcurl/$${MY_OS}/include
|
||||||
LIBS += $$PWD/../../../third_party/zlib/$${MY_OS}/lib/$${MY_ARCH}/zlib.lib
|
LIBS += $$PWD/../../../third_party/zlib/$${MY_OS}/lib/$${MY_ARCH}/zlib.lib
|
||||||
|
@ -111,6 +112,7 @@ unix {
|
||||||
LIBS += -lpthread -ldl
|
LIBS += -lpthread -ldl
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base -l$${OEM_PREFIX2}ImgFmt -l$${OEM_PREFIX2}ImgProc
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base -l$${OEM_PREFIX2}ImgFmt -l$${OEM_PREFIX2}ImgProc
|
||||||
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lsane-$${OEM_PREFIX3}sane
|
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lsane-$${OEM_PREFIX3}sane
|
||||||
|
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lcommonlog
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/libzip/$${MY_OS}/$${MY_ARCH}/include
|
INCLUDEPATH += $$PWD/../../../third_party/libzip/$${MY_OS}/$${MY_ARCH}/include
|
||||||
INCLUDEPATH += $$PWD/../../../third_party/libcurl/$${MY_OS}/$${MY_ARCH}/include
|
INCLUDEPATH += $$PWD/../../../third_party/libcurl/$${MY_OS}/$${MY_ARCH}/include
|
||||||
LIBS += $$PWD/../../../third_party/libzip/$${MY_OS}/$${MY_ARCH}/lib/libzip.a
|
LIBS += $$PWD/../../../third_party/libzip/$${MY_OS}/$${MY_ARCH}/lib/libzip.a
|
||||||
|
|
|
@ -9,13 +9,10 @@
|
||||||
#include "HGLock.h"
|
#include "HGLock.h"
|
||||||
#include "HGEvent.h"
|
#include "HGEvent.h"
|
||||||
#include "HGDll.h"
|
#include "HGDll.h"
|
||||||
#include "HGLog.h"
|
|
||||||
#include "HGConsole.h"
|
|
||||||
#include "HGBuffer.h"
|
#include "HGBuffer.h"
|
||||||
#include "HGImage.h"
|
#include "HGImage.h"
|
||||||
#include "HGThread.h"
|
#include "HGThread.h"
|
||||||
#include "HGUtility.h"
|
#include "HGUtility.h"
|
||||||
#include "HGInfo.h"
|
|
||||||
#include "HGIni.h"
|
#include "HGIni.h"
|
||||||
#include "HGMsgPump.h"
|
#include "HGMsgPump.h"
|
||||||
#include "HGTime.h"
|
#include "HGTime.h"
|
||||||
|
|
|
@ -1,80 +0,0 @@
|
||||||
#include "HGConsole.h"
|
|
||||||
#include "HGInc.h"
|
|
||||||
|
|
||||||
struct HGConsoleImpl
|
|
||||||
{
|
|
||||||
HGConsoleImpl()
|
|
||||||
{
|
|
||||||
#if defined(HG_CMP_MSC)
|
|
||||||
m_bAllocConsole = FALSE;
|
|
||||||
m_hConsole = INVALID_HANDLE_VALUE;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
~HGConsoleImpl()
|
|
||||||
{
|
|
||||||
#if defined(HG_CMP_MSC)
|
|
||||||
if (INVALID_HANDLE_VALUE != m_hConsole)
|
|
||||||
m_hConsole = INVALID_HANDLE_VALUE;
|
|
||||||
if (m_bAllocConsole)
|
|
||||||
{
|
|
||||||
FreeConsole();
|
|
||||||
m_bAllocConsole = FALSE;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(HG_CMP_MSC)
|
|
||||||
BOOL m_bAllocConsole;
|
|
||||||
HANDLE m_hConsole;
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
HGResult HGAPI HGBase_OpenConsole(HGConsole* console)
|
|
||||||
{
|
|
||||||
if (NULL == console)
|
|
||||||
{
|
|
||||||
return HGBASE_ERR_INVALIDARG;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGConsoleImpl* consoleImpl = new HGConsoleImpl;
|
|
||||||
#if defined(HG_CMP_MSC)
|
|
||||||
consoleImpl->m_bAllocConsole = AllocConsole();
|
|
||||||
consoleImpl->m_hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
|
|
||||||
#endif
|
|
||||||
*console = (HGConsole)consoleImpl;
|
|
||||||
return HGBASE_ERR_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGResult HGAPI HGBase_CloseConsole(HGConsole console)
|
|
||||||
{
|
|
||||||
if (NULL == console)
|
|
||||||
{
|
|
||||||
return HGBASE_ERR_INVALIDARG;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGConsoleImpl* consoleImpl = (HGConsoleImpl*)console;
|
|
||||||
delete consoleImpl;
|
|
||||||
return HGBASE_ERR_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGResult HGAPI HGBase_WriteConsole(HGConsole console, const HGChar* info)
|
|
||||||
{
|
|
||||||
if (NULL == console || NULL == info || '\0' == *info)
|
|
||||||
{
|
|
||||||
return HGBASE_ERR_INVALIDARG;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGConsoleImpl* consoleImpl = (HGConsoleImpl*)console;
|
|
||||||
#if defined(HG_CMP_MSC)
|
|
||||||
DWORD dwNumberOfCharsWritten;
|
|
||||||
WriteConsoleA(consoleImpl->m_hConsole, info, (DWORD)strlen(info), &dwNumberOfCharsWritten, NULL);
|
|
||||||
if (info[strlen(info) - 1] != '\n')
|
|
||||||
WriteConsoleA(consoleImpl->m_hConsole, "\r\n", (DWORD)strlen("\r\n"), &dwNumberOfCharsWritten, NULL);
|
|
||||||
#else
|
|
||||||
printf(info);
|
|
||||||
if (info[strlen(info) - 1] != '\n')
|
|
||||||
printf("\n");
|
|
||||||
#endif
|
|
||||||
return HGBASE_ERR_OK;
|
|
||||||
}
|
|
|
@ -1,32 +0,0 @@
|
||||||
#ifndef __HGCONSOLE_H__
|
|
||||||
#define __HGCONSOLE_H__
|
|
||||||
|
|
||||||
#include "HGDef.h"
|
|
||||||
#include "HGBaseErr.h"
|
|
||||||
|
|
||||||
HG_DECLARE_HANDLE(HGConsole);
|
|
||||||
|
|
||||||
/* 开启控制台
|
|
||||||
* 参数:
|
|
||||||
* 1) log: out, 控制台句柄
|
|
||||||
* 说明:
|
|
||||||
*/
|
|
||||||
HGEXPORT HGResult HGAPI HGBase_OpenConsole(HGConsole *console);
|
|
||||||
|
|
||||||
/* 关闭控制台
|
|
||||||
* 参数:
|
|
||||||
* 1) log: in, 控制台句柄
|
|
||||||
* 说明:
|
|
||||||
*/
|
|
||||||
HGEXPORT HGResult HGAPI HGBase_CloseConsole(HGConsole console);
|
|
||||||
|
|
||||||
/* 写控制台信息
|
|
||||||
* 参数:
|
|
||||||
* 1) log: in, 控制台句柄
|
|
||||||
* 2) info: in, 信息, 一次一行, info无需加换行符
|
|
||||||
* 说明:
|
|
||||||
* 1) 该函数不是线程安全的, 在不同线程调用的时候, 需要加锁
|
|
||||||
*/
|
|
||||||
HGEXPORT HGResult HGAPI HGBase_WriteConsole(HGConsole console, const HGChar* info);
|
|
||||||
|
|
||||||
#endif /* __HGCONSOLE_H__ */
|
|
|
@ -1,6 +1,9 @@
|
||||||
#include "HGDll.h"
|
#include "HGDll.h"
|
||||||
#include "HGInc.h"
|
#include "HGInc.h"
|
||||||
#include "HGInfo.h"
|
|
||||||
|
#include "log/log.h"
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
#if !defined(HG_CMP_MSC)
|
#if !defined(HG_CMP_MSC)
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -43,14 +46,14 @@ HGResult HGAPI HGBase_CreateDll(const HGChar* fileName, HGDll* dll)
|
||||||
void* hDll = dlopen(fileName, RTLD_LAZY);
|
void* hDll = dlopen(fileName, RTLD_LAZY);
|
||||||
if (NULL == hDll)
|
if (NULL == hDll)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGBase_CreateDll: dlopen fail, %s dlerror=%s", fileName, dlerror());
|
ErrorLog(g_hLog, "HGBase_CreateDll: dlopen fail, %s dlerror=%s", fileName, dlerror());
|
||||||
return HGBASE_ERR_LOADLIBRARY;
|
return HGBASE_ERR_LOADLIBRARY;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
HMODULE hDll = LoadLibraryExA((const char *)fileName, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
|
HMODULE hDll = LoadLibraryExA((const char *)fileName, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
|
||||||
if (NULL == hDll)
|
if (NULL == hDll)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGBase_CreateDll: LoadLibraryExA fail, %s GetLastError=%u", fileName, GetLastError());
|
ErrorLog(g_hLog, "HGBase_CreateDll: LoadLibraryExA fail, %s GetLastError=%u", fileName, GetLastError());
|
||||||
return HGBASE_ERR_LOADLIBRARY;
|
return HGBASE_ERR_LOADLIBRARY;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
#include "HGInfo.h"
|
|
||||||
#include "HGInfoImpl.hpp"
|
|
||||||
#include "HGInc.h"
|
|
||||||
|
|
||||||
HGInfoImpl* g_infoImpl = NULL;
|
|
||||||
|
|
||||||
HGResult HGAPI HGBase_EnableInfo()
|
|
||||||
{
|
|
||||||
if (NULL == g_infoImpl)
|
|
||||||
return HGBASE_ERR_FAIL;
|
|
||||||
|
|
||||||
return g_infoImpl->Enable();
|
|
||||||
}
|
|
||||||
|
|
||||||
HGResult HGAPI HGBase_DisableInfo()
|
|
||||||
{
|
|
||||||
if (NULL == g_infoImpl)
|
|
||||||
return HGBASE_ERR_FAIL;
|
|
||||||
|
|
||||||
return g_infoImpl->Disable();
|
|
||||||
}
|
|
||||||
|
|
||||||
HGResult HGAPIV HGBase_WriteInfo(HGUInt type, const HGChar* format, ...)
|
|
||||||
{
|
|
||||||
if (NULL == g_infoImpl)
|
|
||||||
return HGBASE_ERR_FAIL;
|
|
||||||
|
|
||||||
char buf[1024] = { 0 };
|
|
||||||
va_list va;
|
|
||||||
va_start(va, format);
|
|
||||||
vsnprintf(buf, 1024, format, va);
|
|
||||||
va_end(va);
|
|
||||||
|
|
||||||
return g_infoImpl->Write(type, buf);
|
|
||||||
}
|
|
|
@ -1,36 +0,0 @@
|
||||||
#ifndef __HGINFO_H__
|
|
||||||
#define __HGINFO_H__
|
|
||||||
|
|
||||||
#include "HGDef.h"
|
|
||||||
#include "HGBaseErr.h"
|
|
||||||
|
|
||||||
/* 致命错误 */
|
|
||||||
#define HGBASE_INFOTYPE_FATAL 1L
|
|
||||||
/* 一般错误 */
|
|
||||||
#define HGBASE_INFOTYPE_ERROR 2L
|
|
||||||
/* 警告 */
|
|
||||||
#define HGBASE_INFOTYPE_WARNING 4L
|
|
||||||
/* 一般描述信息 */
|
|
||||||
#define HGBASE_INFOTYPE_DESC 8L
|
|
||||||
/* 调试信息 */
|
|
||||||
#define HGBASE_INFOTYPE_DEBUG 16L
|
|
||||||
|
|
||||||
/* 启用日志/控制台信息
|
|
||||||
*/
|
|
||||||
HGEXPORT HGResult HGAPI HGBase_EnableInfo();
|
|
||||||
|
|
||||||
/* 禁用日志/控制台信息
|
|
||||||
*/
|
|
||||||
HGEXPORT HGResult HGAPI HGBase_DisableInfo();
|
|
||||||
|
|
||||||
/* 写日志/控制台信息
|
|
||||||
* 参数:
|
|
||||||
* 1) type: in, 信息类型, 参见HGBASE_INFOTYPE_*
|
|
||||||
* 2) format: in, 信息格式
|
|
||||||
* 说明:
|
|
||||||
* 1) 信息的完整输出行: [日期-时间] [进程号/线程号] [信息类型] [信息]
|
|
||||||
* 2) 信息的实际输出行取决于config.ini的配置
|
|
||||||
*/
|
|
||||||
HGEXPORT HGResult HGAPIV HGBase_WriteInfo(HGUInt type, const HGChar* format, ...);
|
|
||||||
|
|
||||||
#endif /* __HGINFO_H__ */
|
|
|
@ -1,172 +0,0 @@
|
||||||
#include "HGInfoImpl.hpp"
|
|
||||||
#include "HGInfo.h"
|
|
||||||
#include "HGInc.h"
|
|
||||||
#include "HGUtility.h"
|
|
||||||
#include "HGIni.h"
|
|
||||||
#include <string>
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
HGInfoImpl::HGInfoImpl()
|
|
||||||
{
|
|
||||||
HGBase_CreateLock(&m_lock);
|
|
||||||
m_enabled = HGFALSE;
|
|
||||||
m_log = NULL;
|
|
||||||
m_console = NULL;
|
|
||||||
m_type = 0;
|
|
||||||
m_showTime = HGFALSE;
|
|
||||||
m_showId = HGFALSE;
|
|
||||||
m_showType = HGFALSE;
|
|
||||||
|
|
||||||
Enable();
|
|
||||||
}
|
|
||||||
|
|
||||||
HGInfoImpl::~HGInfoImpl()
|
|
||||||
{
|
|
||||||
Disable();
|
|
||||||
|
|
||||||
HGBase_DestroyLock(m_lock);
|
|
||||||
m_lock = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGResult HGInfoImpl::Enable()
|
|
||||||
{
|
|
||||||
if (m_enabled)
|
|
||||||
{
|
|
||||||
return HGBASE_ERR_FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGChar cfgPath[256] = { 0 };
|
|
||||||
HGBase_GetConfigPath(cfgPath, 256);
|
|
||||||
strcat(cfgPath, "config.ini");
|
|
||||||
|
|
||||||
HGBool writeLog;
|
|
||||||
HGBase_GetProfileInt(cfgPath, "info", "writeLog", 1, &writeLog);
|
|
||||||
HGBool writeConsole;
|
|
||||||
HGBase_GetProfileInt(cfgPath, "info", "writeConsole", 0, &writeConsole);
|
|
||||||
HGUInt defType = HGBASE_INFOTYPE_FATAL | HGBASE_INFOTYPE_ERROR | HGBASE_INFOTYPE_WARNING
|
|
||||||
| HGBASE_INFOTYPE_DESC | HGBASE_INFOTYPE_DEBUG;
|
|
||||||
HGBase_GetProfileInt(cfgPath, "info", "type", (HGInt)defType, (HGInt*)&m_type);
|
|
||||||
HGBase_GetProfileInt(cfgPath, "info", "showTime", 1, &m_showTime);
|
|
||||||
HGBase_GetProfileInt(cfgPath, "info", "showId", 0, &m_showId);
|
|
||||||
HGBase_GetProfileInt(cfgPath, "info", "showType", 1, &m_showType);
|
|
||||||
|
|
||||||
if (writeLog)
|
|
||||||
{
|
|
||||||
HGChar logPath[256];
|
|
||||||
HGBase_GetLogFilePath(logPath, 256);
|
|
||||||
HGBase_CreateDir(logPath);
|
|
||||||
|
|
||||||
timeb tb;
|
|
||||||
ftime(&tb);
|
|
||||||
struct tm* p = localtime(&tb.time);
|
|
||||||
|
|
||||||
char fileName[256];
|
|
||||||
#if defined(HG_CMP_MSC)
|
|
||||||
sprintf(fileName, "\\%04d%02d%02d.log", (1900 + p->tm_year), (1 + p->tm_mon), p->tm_mday);
|
|
||||||
#else
|
|
||||||
sprintf(fileName, "/%04d%02d%02d.log", (1900 + p->tm_year), (1 + p->tm_mon), p->tm_mday);
|
|
||||||
#endif
|
|
||||||
strcat(logPath, fileName);
|
|
||||||
HGBase_OpenLog(logPath, &m_log);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (writeConsole)
|
|
||||||
{
|
|
||||||
HGBase_OpenConsole(&m_console);
|
|
||||||
}
|
|
||||||
|
|
||||||
m_enabled = HGTRUE;
|
|
||||||
return HGBASE_ERR_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGResult HGInfoImpl::Disable()
|
|
||||||
{
|
|
||||||
if (!m_enabled)
|
|
||||||
{
|
|
||||||
return HGBASE_ERR_FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGBase_CloseConsole(m_console);
|
|
||||||
m_console = NULL;
|
|
||||||
HGBase_CloseLog(m_log);
|
|
||||||
m_log = NULL;
|
|
||||||
|
|
||||||
m_enabled = HGFALSE;
|
|
||||||
return HGBASE_ERR_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGResult HGInfoImpl::Write(HGUInt type, const HGChar* info)
|
|
||||||
{
|
|
||||||
if (!m_enabled)
|
|
||||||
{
|
|
||||||
return HGBASE_ERR_FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (HGBASE_INFOTYPE_FATAL != type && HGBASE_INFOTYPE_ERROR != type
|
|
||||||
&& HGBASE_INFOTYPE_WARNING != type && HGBASE_INFOTYPE_DESC != type
|
|
||||||
&& HGBASE_INFOTYPE_DEBUG != type)
|
|
||||||
{
|
|
||||||
return HGBASE_ERR_INVALIDARG;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (NULL == info || '\0' == *info)
|
|
||||||
{
|
|
||||||
return HGBASE_ERR_INVALIDARG;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (0 == (type & m_type))
|
|
||||||
{
|
|
||||||
return HGBASE_ERR_FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
char writeInfo[2048] = { 0 };
|
|
||||||
|
|
||||||
if (m_showTime)
|
|
||||||
{
|
|
||||||
timeb tb;
|
|
||||||
ftime(&tb);
|
|
||||||
struct tm* p = localtime(&tb.time);
|
|
||||||
char timeStr[64] = { 0 };
|
|
||||||
sprintf(timeStr, "[%04d/%02d/%02d-%02d:%02d:%02d.%03d]", (1900 + p->tm_year), (1 + p->tm_mon), p->tm_mday,
|
|
||||||
p->tm_hour, p->tm_min, p->tm_sec, tb.millitm);
|
|
||||||
strcat(writeInfo, timeStr);
|
|
||||||
strcat(writeInfo, " ");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_showId)
|
|
||||||
{
|
|
||||||
char idStr[32] = { 0 };
|
|
||||||
#if defined(HG_CMP_MSC)
|
|
||||||
sprintf(idStr, "[0x%08X/0x%08X]", GetCurrentProcessId(), GetCurrentThreadId());
|
|
||||||
#else
|
|
||||||
sprintf(idStr, "[0x%08X/0x%08X]", (HGUInt)getpid(), (HGUInt)syscall(SYS_gettid));
|
|
||||||
#endif
|
|
||||||
strcat(writeInfo, idStr);
|
|
||||||
strcat(writeInfo, " ");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_showType)
|
|
||||||
{
|
|
||||||
char typeStr[24] = { 0 };
|
|
||||||
if (HGBASE_INFOTYPE_FATAL == type)
|
|
||||||
sprintf(typeStr, "[%s]", "FAT");
|
|
||||||
else if (HGBASE_INFOTYPE_ERROR == type)
|
|
||||||
sprintf(typeStr, "[%s]", "ERR");
|
|
||||||
else if (HGBASE_INFOTYPE_WARNING == type)
|
|
||||||
sprintf(typeStr, "[%s]", "WAR");
|
|
||||||
else if (HGBASE_INFOTYPE_DESC == type)
|
|
||||||
sprintf(typeStr, "[%s]", "DES");
|
|
||||||
else
|
|
||||||
sprintf(typeStr, "[%s]", "DEB");
|
|
||||||
strcat(writeInfo, typeStr);
|
|
||||||
strcat(writeInfo, " ");
|
|
||||||
}
|
|
||||||
|
|
||||||
strcat(writeInfo, info);
|
|
||||||
|
|
||||||
HGBase_EnterLock(m_lock);
|
|
||||||
HGBase_WriteLog(m_log, writeInfo);
|
|
||||||
HGBase_WriteConsole(m_console, writeInfo);
|
|
||||||
HGBase_LeaveLock(m_lock);
|
|
||||||
return HGBASE_ERR_OK;
|
|
||||||
}
|
|
|
@ -1,29 +0,0 @@
|
||||||
#ifndef __HGINFOIMPL_HPP__
|
|
||||||
#define __HGINFOIMPL_HPP__
|
|
||||||
|
|
||||||
#include "HGLog.h"
|
|
||||||
#include "HGConsole.h"
|
|
||||||
#include "HGLock.h"
|
|
||||||
|
|
||||||
class HGInfoImpl
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
HGInfoImpl();
|
|
||||||
~HGInfoImpl();
|
|
||||||
|
|
||||||
HGResult Enable();
|
|
||||||
HGResult Disable();
|
|
||||||
HGResult Write(HGUInt type, const HGChar* info);
|
|
||||||
|
|
||||||
private:
|
|
||||||
HGLock m_lock;
|
|
||||||
HGBool m_enabled;
|
|
||||||
HGLog m_log;
|
|
||||||
HGConsole m_console;
|
|
||||||
HGUInt m_type;
|
|
||||||
HGBool m_showTime;
|
|
||||||
HGBool m_showId;
|
|
||||||
HGBool m_showType;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* __HGINFOIMPL_HPP__ */
|
|
|
@ -1,9 +1,11 @@
|
||||||
#include "HGIni.h"
|
#include "HGIni.h"
|
||||||
#include "HGInc.h"
|
#include "HGInc.h"
|
||||||
#include "HGInfo.h"
|
#include "log/log.h"
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
typedef std::vector<std::pair<std::string, std::string> > KeyList;
|
typedef std::vector<std::pair<std::string, std::string> > KeyList;
|
||||||
typedef std::vector<std::pair<std::string, KeyList> > SectionList;
|
typedef std::vector<std::pair<std::string, KeyList> > SectionList;
|
||||||
|
|
||||||
|
@ -87,7 +89,7 @@ static HGResult SaveIni(const char* file, const SectionList& sectList)
|
||||||
FILE* fp = fopen(file, "w");
|
FILE* fp = fopen(file, "w");
|
||||||
if (fp == NULL)
|
if (fp == NULL)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "IniWriteValue: fopen fail %s errno=%d", file, errno);
|
ErrorLog(g_hLog, "IniWriteValue: fopen fail %s errno=%d", file, errno);
|
||||||
return HGBASE_ERR_ACCESSDENIED;
|
return HGBASE_ERR_ACCESSDENIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,90 +0,0 @@
|
||||||
#include "HGLog.h"
|
|
||||||
#include "HGInc.h"
|
|
||||||
|
|
||||||
struct HGLogImpl
|
|
||||||
{
|
|
||||||
HGLogImpl()
|
|
||||||
{
|
|
||||||
m_file = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
~HGLogImpl()
|
|
||||||
{
|
|
||||||
if (NULL != m_file)
|
|
||||||
{
|
|
||||||
fclose(m_file);
|
|
||||||
m_file = NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
FILE* m_file;
|
|
||||||
};
|
|
||||||
|
|
||||||
HGResult HGAPI HGBase_OpenLog(const HGChar* fileName, HGLog* log)
|
|
||||||
{
|
|
||||||
if (NULL == fileName || NULL == log)
|
|
||||||
{
|
|
||||||
return HGBASE_ERR_INVALIDARG;
|
|
||||||
}
|
|
||||||
|
|
||||||
FILE *file = fopen(fileName, "a+");
|
|
||||||
if (NULL == file)
|
|
||||||
{
|
|
||||||
return HGBASE_ERR_ACCESSDENIED;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGLogImpl* logImpl = new HGLogImpl;
|
|
||||||
logImpl->m_file = file;
|
|
||||||
*log = (HGLog)logImpl;
|
|
||||||
return HGBASE_ERR_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGResult HGAPI HGBase_CloseLog(HGLog log)
|
|
||||||
{
|
|
||||||
if (NULL == log)
|
|
||||||
{
|
|
||||||
return HGBASE_ERR_INVALIDARG;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGLogImpl* logImpl = (HGLogImpl*)log;
|
|
||||||
delete logImpl;
|
|
||||||
return HGBASE_ERR_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGResult HGAPI HGBase_GetLogFileSize(HGLog log, HGLonglong* size)
|
|
||||||
{
|
|
||||||
if (NULL == log || NULL == size)
|
|
||||||
{
|
|
||||||
return HGBASE_ERR_INVALIDARG;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGLogImpl* logImpl = (HGLogImpl*)log;
|
|
||||||
#if defined(HG_CMP_MSC)
|
|
||||||
_fseeki64(logImpl->m_file, 0, SEEK_END);
|
|
||||||
*size = _ftelli64(logImpl->m_file);
|
|
||||||
#else
|
|
||||||
fseeko64(logImpl->m_file, 0, SEEK_END);
|
|
||||||
*size = ftello64(logImpl->m_file);
|
|
||||||
#endif
|
|
||||||
return HGBASE_ERR_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGResult HGAPI HGBase_WriteLog(HGLog log, const HGChar* info)
|
|
||||||
{
|
|
||||||
if (NULL == log || NULL == info || '\0' == *info)
|
|
||||||
{
|
|
||||||
return HGBASE_ERR_INVALIDARG;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGLogImpl* logImpl = (HGLogImpl*)log;
|
|
||||||
#if defined(HG_CMP_MSC)
|
|
||||||
_fseeki64(logImpl->m_file, 0, SEEK_END);
|
|
||||||
#else
|
|
||||||
fseeko64(logImpl->m_file, 0, SEEK_END);
|
|
||||||
#endif
|
|
||||||
fwrite(info, 1, strlen(info), logImpl->m_file);
|
|
||||||
if (info[strlen(info) - 1] != '\n')
|
|
||||||
fwrite("\n", 1, strlen("\n"), logImpl->m_file);
|
|
||||||
fflush(logImpl->m_file);
|
|
||||||
return HGBASE_ERR_OK;
|
|
||||||
}
|
|
|
@ -1,42 +0,0 @@
|
||||||
#ifndef __HGLOG_H__
|
|
||||||
#define __HGLOG_H__
|
|
||||||
|
|
||||||
#include "HGDef.h"
|
|
||||||
#include "HGBaseErr.h"
|
|
||||||
|
|
||||||
HG_DECLARE_HANDLE(HGLog);
|
|
||||||
|
|
||||||
/* 开启日志
|
|
||||||
* 参数:
|
|
||||||
* 1) fileName: in, 文件名
|
|
||||||
* 2) log: out, 日志句柄
|
|
||||||
* 说明:
|
|
||||||
*/
|
|
||||||
HGEXPORT HGResult HGAPI HGBase_OpenLog(const HGChar* fileName, HGLog* log);
|
|
||||||
|
|
||||||
/* 关闭日志
|
|
||||||
* 参数:
|
|
||||||
* 1) log: in, 日志句柄
|
|
||||||
* 说明:
|
|
||||||
*/
|
|
||||||
HGEXPORT HGResult HGAPI HGBase_CloseLog(HGLog log);
|
|
||||||
|
|
||||||
/* 获取日志文件大小
|
|
||||||
* 参数:
|
|
||||||
* 1) log: in, 日志句柄
|
|
||||||
* 2) size: out, 日志文件大小
|
|
||||||
* 说明:
|
|
||||||
* 1) 每次写入日志信息后,可以用该函数检查日志文件的大小,当日志文件足够大时,可以关闭该日志句柄,在新的日志文件上重新打开
|
|
||||||
*/
|
|
||||||
HGEXPORT HGResult HGAPI HGBase_GetLogFileSize(HGLog log, HGLonglong* size);
|
|
||||||
|
|
||||||
/* 写日志信息
|
|
||||||
* 参数:
|
|
||||||
* 1) log: in, 日志句柄
|
|
||||||
* 2) info: in, 信息, 一次一行, info无需加换行符
|
|
||||||
* 说明:
|
|
||||||
* 1) 该函数不是线程安全的, 在不同进程或不同线程调用的时候, 需要加锁
|
|
||||||
*/
|
|
||||||
HGEXPORT HGResult HGAPI HGBase_WriteLog(HGLog log, const HGChar* info);
|
|
||||||
|
|
||||||
#endif /* __HGLOG_H__ */
|
|
|
@ -1,7 +1,7 @@
|
||||||
#include "HGUtility.h"
|
#include "HGUtility.h"
|
||||||
#include "HGInc.h"
|
#include "HGInc.h"
|
||||||
#include "HGInfo.h"
|
|
||||||
#include "HGIni.h"
|
#include "HGIni.h"
|
||||||
|
#include "log/log.h"
|
||||||
#if defined(HG_CMP_MSC)
|
#if defined(HG_CMP_MSC)
|
||||||
#include <shlobj.h>
|
#include <shlobj.h>
|
||||||
#include <atlstr.h>
|
#include <atlstr.h>
|
||||||
|
@ -10,6 +10,8 @@
|
||||||
#endif
|
#endif
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
HGResult HGAPI HGBase_GetTmpPath(HGChar* path, HGUInt maxLen)
|
HGResult HGAPI HGBase_GetTmpPath(HGChar* path, HGUInt maxLen)
|
||||||
{
|
{
|
||||||
if (NULL == path || 0 == maxLen)
|
if (NULL == path || 0 == maxLen)
|
||||||
|
@ -102,7 +104,7 @@ HGResult HGAPI HGBase_CreateDir(const HGChar* dir)
|
||||||
{
|
{
|
||||||
if (0 != mkdir(muldir, 0777))
|
if (0 != mkdir(muldir, 0777))
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGBase_CreateDir: mkdir fail, %s errno=%d", dir, errno);
|
ErrorLog(g_hLog, "HGBase_CreateDir: mkdir fail, %s errno=%d", dir, errno);
|
||||||
ret = false;
|
ret = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +119,7 @@ HGResult HGAPI HGBase_CreateDir(const HGChar* dir)
|
||||||
{
|
{
|
||||||
if (0 != mkdir(muldir, 0777))
|
if (0 != mkdir(muldir, 0777))
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGBase_CreateDir: mkdir fail, %s errno=%d", dir, errno);
|
ErrorLog(g_hLog, "HGBase_CreateDir: mkdir fail, %s errno=%d", dir, errno);
|
||||||
ret = false;
|
ret = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -129,7 +131,7 @@ HGResult HGAPI HGBase_CreateDir(const HGChar* dir)
|
||||||
int ret = SHCreateDirectoryExA(NULL, dir, NULL);
|
int ret = SHCreateDirectoryExA(NULL, dir, NULL);
|
||||||
if (ERROR_SUCCESS != ret && ERROR_ALREADY_EXISTS != ret)
|
if (ERROR_SUCCESS != ret && ERROR_ALREADY_EXISTS != ret)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGBase_CreateDir: SHCreateDirectoryExA fail, %s GetLastError=%u", dir, GetLastError());
|
ErrorLog(g_hLog, "HGBase_CreateDir: SHCreateDirectoryExA fail, %s GetLastError=%u", dir, GetLastError());
|
||||||
return HGBASE_ERR_ACCESSDENIED;
|
return HGBASE_ERR_ACCESSDENIED;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,8 +1,26 @@
|
||||||
#include "HGDef.h"
|
#include "HGDef.h"
|
||||||
#include "HGInfoImpl.hpp"
|
|
||||||
#include "HGInc.h"
|
#include "HGInc.h"
|
||||||
|
#include "log/log.h"
|
||||||
|
|
||||||
extern HGInfoImpl* g_infoImpl;
|
HLOG g_hLog = nullptr;
|
||||||
|
|
||||||
|
#if defined(OEM_HANWANG)
|
||||||
|
const char* oem = "HanvonScan";
|
||||||
|
#elif defined(OEM_LISICHENG)
|
||||||
|
const char* oem = "LanxumScan";
|
||||||
|
#elif defined(OEM_CANGTIAN)
|
||||||
|
const char* oem = "CumtennScan";
|
||||||
|
#elif defined(OEM_ZHONGJING)
|
||||||
|
const char* oem = "MicrotekScan";
|
||||||
|
#elif defined(OEM_ZIGUANG)
|
||||||
|
const char* oem = "UniScan";
|
||||||
|
#elif defined(OEM_NEUTRAL)
|
||||||
|
const char* oem = "NeuScan";
|
||||||
|
#elif defined(OEM_DELI)
|
||||||
|
const char* oem = "DeliScan";
|
||||||
|
#else
|
||||||
|
const char* oem = "HuaGoScan";
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(HG_CMP_MSC)
|
#if defined(HG_CMP_MSC)
|
||||||
|
|
||||||
|
@ -12,7 +30,7 @@ BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReser
|
||||||
{
|
{
|
||||||
case DLL_PROCESS_ATTACH:
|
case DLL_PROCESS_ATTACH:
|
||||||
{
|
{
|
||||||
g_infoImpl = new HGInfoImpl;
|
g_hLog = EnableLog(NULL, oem, "app");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case DLL_THREAD_ATTACH:
|
case DLL_THREAD_ATTACH:
|
||||||
|
@ -21,8 +39,8 @@ BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReser
|
||||||
break;
|
break;
|
||||||
case DLL_PROCESS_DETACH:
|
case DLL_PROCESS_DETACH:
|
||||||
{
|
{
|
||||||
delete g_infoImpl;
|
DisableLog(g_hLog);
|
||||||
g_infoImpl = NULL;
|
g_hLog = nullptr;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -37,13 +55,13 @@ void __attribute__((destructor)) global_unload(void);
|
||||||
|
|
||||||
void global_load(void)
|
void global_load(void)
|
||||||
{
|
{
|
||||||
g_infoImpl = new HGInfoImpl;
|
g_hLog = EnableLog(NULL, oem, "app");
|
||||||
}
|
}
|
||||||
|
|
||||||
void global_unload(void)
|
void global_unload(void)
|
||||||
{
|
{
|
||||||
delete g_infoImpl;
|
DisableLog(g_hLog);
|
||||||
g_infoImpl = NULL;
|
g_hLog = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#include "HGBmp.h"
|
#include "HGBmp.h"
|
||||||
#include "../base/HGInc.h"
|
#include "../base/HGInc.h"
|
||||||
#include "../base/HGInfo.h"
|
#include "log/log.h"
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
#include "libnsbmp.h"
|
#include "libnsbmp.h"
|
||||||
|
@ -312,7 +314,7 @@ HGResult HGAPI HGImgFmt_SaveBmpImage(HGImage image, const HGBmpSaveInfo* info, c
|
||||||
FILE* file = fopen(fileName, "wb");
|
FILE* file = fopen(fileName, "wb");
|
||||||
if (NULL == file)
|
if (NULL == file)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGImgFmt_SaveBmpImage: fopen fail, %s errno=%d", fileName, errno);
|
ErrorLog(g_hLog, "HGImgFmt_SaveBmpImage: fopen fail, %s errno=%d", fileName, errno);
|
||||||
return HGBASE_ERR_ACCESSDENIED;
|
return HGBASE_ERR_ACCESSDENIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
#include "HGGif.h"
|
#include "HGGif.h"
|
||||||
#include "../base/HGInc.h"
|
#include "../base/HGInc.h"
|
||||||
#include "../base/HGInfo.h"
|
#include "log/log.h"
|
||||||
#include "gif_lib.h"
|
#include "gif_lib.h"
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
struct HGGifReaderImpl
|
struct HGGifReaderImpl
|
||||||
{
|
{
|
||||||
HGGifReaderImpl()
|
HGGifReaderImpl()
|
||||||
|
@ -778,7 +780,7 @@ HGResult HGAPI HGImgFmt_OpenGifWriter(const HGChar* fileName, const HGGifSaveInf
|
||||||
GifFileType* gifFile = EGifOpenFileName(fileName, false, &err);
|
GifFileType* gifFile = EGifOpenFileName(fileName, false, &err);
|
||||||
if (NULL == gifFile)
|
if (NULL == gifFile)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGImgFmt_OpenGifWriter: EGifOpenFileName fail, %s", fileName);
|
ErrorLog(g_hLog, "HGImgFmt_OpenGifWriter: EGifOpenFileName fail, %s", fileName);
|
||||||
return HGBASE_ERR_ACCESSDENIED;
|
return HGBASE_ERR_ACCESSDENIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#include "HGJpeg.h"
|
#include "HGJpeg.h"
|
||||||
#include "../base/HGInc.h"
|
#include "../base/HGInc.h"
|
||||||
#include "../base/HGInfo.h"
|
#include "log/log.h"
|
||||||
|
extern HLOG g_hLog;
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
#include "jpeglib.h"
|
#include "jpeglib.h"
|
||||||
|
@ -323,7 +324,7 @@ HGResult HGAPI HGImgFmt_SaveJpegImage(HGImage image, const HGJpegSaveInfo* info,
|
||||||
FILE* file = fopen(fileName, "wb");
|
FILE* file = fopen(fileName, "wb");
|
||||||
if (NULL == file)
|
if (NULL == file)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGImgFmt_SaveJpegImage: fopen fail, %s errno=%d", fileName, errno);
|
ErrorLog(g_hLog, "HGImgFmt_SaveJpegImage: fopen fail, %s errno=%d", fileName, errno);
|
||||||
return HGBASE_ERR_ACCESSDENIED;
|
return HGBASE_ERR_ACCESSDENIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
#include "HGOfdImpl.hpp"
|
#include "HGOfdImpl.hpp"
|
||||||
#include "../base/HGInc.h"
|
#include "../base/HGInc.h"
|
||||||
#include "../base/HGInfo.h"
|
|
||||||
#include "../base/HGUtility.h"
|
#include "../base/HGUtility.h"
|
||||||
|
#include "log/log.h"
|
||||||
#include "HGString.h"
|
#include "HGString.h"
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
#define A4page_page_PhysicalBox_Width 210.000000
|
#define A4page_page_PhysicalBox_Width 210.000000
|
||||||
#define A4page_page_PhysicalBox_Height 297.000000
|
#define A4page_page_PhysicalBox_Height 297.000000
|
||||||
|
|
||||||
|
@ -565,7 +567,7 @@ HGResult HGOfdImageWriterImpl::Open(const HGChar* fileName)
|
||||||
m_zip = zip_open(StdStringToUtf8(fileName).c_str(), ZIP_CREATE | ZIP_TRUNCATE, &error);
|
m_zip = zip_open(StdStringToUtf8(fileName).c_str(), ZIP_CREATE | ZIP_TRUNCATE, &error);
|
||||||
if (NULL == m_zip)
|
if (NULL == m_zip)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOfdImageWriterImpl::Open: zip_open fail, %s", fileName);
|
ErrorLog(g_hLog, "HGOfdImageWriterImpl::Open: zip_open fail, %s", fileName);
|
||||||
return HGBASE_ERR_ACCESSDENIED;
|
return HGBASE_ERR_ACCESSDENIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
#include "HGPdfImpl.hpp"
|
#include "HGPdfImpl.hpp"
|
||||||
#include "../base/HGInc.h"
|
#include "../base/HGInc.h"
|
||||||
#include "../base/HGUtility.h"
|
#include "../base/HGUtility.h"
|
||||||
#include "../base/HGInfo.h"
|
#include "log/log.h"
|
||||||
#include "HGString.h"
|
#include "HGString.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
HGPdfReaderImpl::HGPdfReaderImpl()
|
HGPdfReaderImpl::HGPdfReaderImpl()
|
||||||
{
|
{
|
||||||
|
@ -613,7 +614,7 @@ HGResult HGPdfImageWriterImpl::Open(const HGChar* fileName)
|
||||||
if (-1 == PDF_begin_document(p, (const char*)pUnicode, (int)(GetUnicodeStrLen(pUnicode) * sizeof(uint16_t)), ""))
|
if (-1 == PDF_begin_document(p, (const char*)pUnicode, (int)(GetUnicodeStrLen(pUnicode) * sizeof(uint16_t)), ""))
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGPdfImageWriterImpl::Open: PDF_begin_document fail, %s", fileName);
|
ErrorLog(g_hLog, "HGPdfImageWriterImpl::Open: PDF_begin_document fail, %s", fileName);
|
||||||
|
|
||||||
delete[] pUnicode;
|
delete[] pUnicode;
|
||||||
PDF_delete(p);
|
PDF_delete(p);
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
#include "HGPng.h"
|
#include "HGPng.h"
|
||||||
#include "../base/HGInc.h"
|
#include "../base/HGInc.h"
|
||||||
#include "../base/HGInfo.h"
|
#include "log/log.h"
|
||||||
#include "png.h"
|
#include "png.h"
|
||||||
#include "pngstruct.h"
|
#include "pngstruct.h"
|
||||||
#include "pnginfo.h"
|
#include "pnginfo.h"
|
||||||
#include "pngpriv.h"
|
#include "pngpriv.h"
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
HGResult HGAPI HGImgFmt_CheckPngFile(const HGChar* fileName, HGBool* isPng)
|
HGResult HGAPI HGImgFmt_CheckPngFile(const HGChar* fileName, HGBool* isPng)
|
||||||
{
|
{
|
||||||
if (NULL == fileName || NULL == isPng)
|
if (NULL == fileName || NULL == isPng)
|
||||||
|
@ -340,7 +342,7 @@ HGResult HGAPI HGImgFmt_SavePngImage(HGImage image, const HGPngSaveInfo* info, c
|
||||||
FILE* file = fopen(fileName, "wb");
|
FILE* file = fopen(fileName, "wb");
|
||||||
if (NULL == file)
|
if (NULL == file)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGImgFmt_SavePngImage: fopen fail, %s errno=%d", fileName, errno);
|
ErrorLog(g_hLog, "HGImgFmt_SavePngImage: fopen fail, %s errno=%d", fileName, errno);
|
||||||
return HGBASE_ERR_ACCESSDENIED;
|
return HGBASE_ERR_ACCESSDENIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
#include "HGPnm.h"
|
#include "HGPnm.h"
|
||||||
#include "../base/HGInc.h"
|
#include "../base/HGInc.h"
|
||||||
#include "../base/HGInfo.h"
|
#include "log/log.h"
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
static inline HGByte GetBit(const HGByte* data, HGUInt index)
|
static inline HGByte GetBit(const HGByte* data, HGUInt index)
|
||||||
{
|
{
|
||||||
HGUInt byteIndex = index / 8;
|
HGUInt byteIndex = index / 8;
|
||||||
|
@ -504,7 +506,7 @@ static HGResult PnmSaveImage(HGImage image, const HGChar* fileName, HGUInt pnmTy
|
||||||
FILE* file = fopen(fileName, "wb");
|
FILE* file = fopen(fileName, "wb");
|
||||||
if (NULL == file)
|
if (NULL == file)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "PnmSaveImage: fopen fail, %s errno=%d", fileName, errno);
|
ErrorLog(g_hLog, "PnmSaveImage: fopen fail, %s errno=%d", fileName, errno);
|
||||||
return HGBASE_ERR_ACCESSDENIED;
|
return HGBASE_ERR_ACCESSDENIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
#include "HGTiff.h"
|
#include "HGTiff.h"
|
||||||
#include "../base/HGInc.h"
|
#include "../base/HGInc.h"
|
||||||
#include "../base/HGInfo.h"
|
#include "log/log.h"
|
||||||
#include "tiffio.h"
|
#include "tiffio.h"
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
HGResult HGAPI HGImgFmt_CheckTiffFile(const HGChar* fileName, HGBool* isTiff)
|
HGResult HGAPI HGImgFmt_CheckTiffFile(const HGChar* fileName, HGBool* isTiff)
|
||||||
{
|
{
|
||||||
if (NULL == fileName || NULL == isTiff)
|
if (NULL == fileName || NULL == isTiff)
|
||||||
|
@ -244,7 +246,7 @@ HGResult HGAPI HGImgFmt_OpenTiffWriter(const HGChar* fileName, HGTiffWriter* wri
|
||||||
TIFF* tif = TIFFOpen(fileName, "w");
|
TIFF* tif = TIFFOpen(fileName, "w");
|
||||||
if (NULL == tif)
|
if (NULL == tif)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGImgFmt_OpenTiffWriter: TIFFOpen fail, %s", fileName);
|
ErrorLog(g_hLog, "HGImgFmt_OpenTiffWriter: TIFFOpen fail, %s", fileName);
|
||||||
return HGBASE_ERR_ACCESSDENIED;
|
return HGBASE_ERR_ACCESSDENIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,24 @@
|
||||||
#include "../base/HGDef.h"
|
#include "../base/HGDef.h"
|
||||||
|
#include "log/log.h"
|
||||||
|
HLOG g_hLog = nullptr;
|
||||||
|
|
||||||
|
#if defined(OEM_HANWANG)
|
||||||
|
const char* oem = "HanvonScan";
|
||||||
|
#elif defined(OEM_LISICHENG)
|
||||||
|
const char* oem = "LanxumScan";
|
||||||
|
#elif defined(OEM_CANGTIAN)
|
||||||
|
const char* oem = "CumtennScan";
|
||||||
|
#elif defined(OEM_ZHONGJING)
|
||||||
|
const char* oem = "MicrotekScan";
|
||||||
|
#elif defined(OEM_ZIGUANG)
|
||||||
|
const char* oem = "UniScan";
|
||||||
|
#elif defined(OEM_NEUTRAL)
|
||||||
|
const char* oem = "NeuScan";
|
||||||
|
#elif defined(OEM_DELI)
|
||||||
|
const char* oem = "DeliScan";
|
||||||
|
#else
|
||||||
|
const char* oem = "HuaGoScan";
|
||||||
|
#endif
|
||||||
#if defined(HG_CMP_MSC)
|
#if defined(HG_CMP_MSC)
|
||||||
|
|
||||||
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
|
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
|
||||||
|
@ -7,12 +26,15 @@ BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReser
|
||||||
switch (ul_reason_for_call)
|
switch (ul_reason_for_call)
|
||||||
{
|
{
|
||||||
case DLL_PROCESS_ATTACH:
|
case DLL_PROCESS_ATTACH:
|
||||||
|
g_hLog = EnableLog(NULL, oem, "app");
|
||||||
break;
|
break;
|
||||||
case DLL_THREAD_ATTACH:
|
case DLL_THREAD_ATTACH:
|
||||||
break;
|
break;
|
||||||
case DLL_THREAD_DETACH:
|
case DLL_THREAD_DETACH:
|
||||||
break;
|
break;
|
||||||
case DLL_PROCESS_DETACH:
|
case DLL_PROCESS_DETACH:
|
||||||
|
DisableLog(g_hLog);
|
||||||
|
g_hLog = nullptr;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,12 +48,13 @@ void __attribute__((destructor)) global_unload(void);
|
||||||
|
|
||||||
void global_load(void)
|
void global_load(void)
|
||||||
{
|
{
|
||||||
|
g_hLog = EnableLog(NULL, oem, "app");
|
||||||
}
|
}
|
||||||
|
|
||||||
void global_unload(void)
|
void global_unload(void)
|
||||||
{
|
{
|
||||||
|
DisableLog(g_hLog);
|
||||||
|
g_hLog = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
#include "HGOCRHanvon.hpp"
|
#include "HGOCRHanvon.hpp"
|
||||||
#include "HGOCRRetImpl.hpp"
|
#include "HGOCRRetImpl.hpp"
|
||||||
#include "../base/HGUtility.h"
|
#include "../base/HGUtility.h"
|
||||||
#include "../base/HGInfo.h"
|
#include "log/log.h"
|
||||||
#include "../imgfmt/HGBmp.h"
|
#include "../imgfmt/HGBmp.h"
|
||||||
#include "../imgfmt/HGJpeg.h"
|
#include "../imgfmt/HGJpeg.h"
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
//HGUInt HGOCRHanvon::m_refCount = 0;
|
//HGUInt HGOCRHanvon::m_refCount = 0;
|
||||||
//HGOCRHanvon* HGOCRHanvon::m_OCR = NULL;
|
//HGOCRHanvon* HGOCRHanvon::m_OCR = NULL;
|
||||||
|
|
||||||
|
@ -50,7 +52,7 @@ HGResult HGOCRHanvon::Init()
|
||||||
|
|
||||||
if (0 != HWOCR_SDKInitialize(&m_ocrHandle))
|
if (0 != HWOCR_SDKInitialize(&m_ocrHandle))
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRHanvon::Init: HWOCR_SDKInitialize fail");
|
ErrorLog(g_hLog, "HGOCRHanvon::Init: HWOCR_SDKInitialize fail");
|
||||||
HGBase_DestroyDll(m_dll);
|
HGBase_DestroyDll(m_dll);
|
||||||
m_dll = NULL;
|
m_dll = NULL;
|
||||||
return HGIMGPROC_ERR_OCRINIT;
|
return HGIMGPROC_ERR_OCRINIT;
|
||||||
|
@ -101,7 +103,7 @@ HGResult HGOCRHanvon::ImageOCR(HGImage image, class HGOCRRetImpl **ocrRet)
|
||||||
HGResult ret = HGImgFmt_SaveBmpImage(image, NULL, tmpFileName);
|
HGResult ret = HGImgFmt_SaveBmpImage(image, NULL, tmpFileName);
|
||||||
if (HGBASE_ERR_OK != ret)
|
if (HGBASE_ERR_OK != ret)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRHanvon::ImageOCR: HGImgFmt_SaveBmpImage fail %s", tmpFileName);
|
ErrorLog(g_hLog, "HGOCRHanvon::ImageOCR: HGImgFmt_SaveBmpImage fail %s", tmpFileName);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -111,7 +113,7 @@ HGResult HGOCRHanvon::ImageOCR(HGImage image, class HGOCRRetImpl **ocrRet)
|
||||||
HGBase_DeleteFile(tmpFileName);
|
HGBase_DeleteFile(tmpFileName);
|
||||||
if (0 != rc || NULL == rst)
|
if (0 != rc || NULL == rst)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRHanvon::ImageOCR: HWOCR_RecognizeFile2Str fail in=%s", tmpFileName);
|
ErrorLog(g_hLog, "HGOCRHanvon::ImageOCR: HWOCR_RecognizeFile2Str fail in=%s", tmpFileName);
|
||||||
return HGIMGPROC_ERR_OCR;
|
return HGIMGPROC_ERR_OCR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -154,7 +156,7 @@ HGResult HGOCRHanvon::ImageOCRToFile(HGImage image, HGUInt outType, const HGChar
|
||||||
HGResult ret = HGImgFmt_SaveBmpImage(image, NULL, tmpFileName);
|
HGResult ret = HGImgFmt_SaveBmpImage(image, NULL, tmpFileName);
|
||||||
if (HGBASE_ERR_OK != ret)
|
if (HGBASE_ERR_OK != ret)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRHanvon::ImageOCRToFile: HGImgFmt_SaveBmpImage fail %s", tmpFileName);
|
ErrorLog(g_hLog, "HGOCRHanvon::ImageOCRToFile: HGImgFmt_SaveBmpImage fail %s", tmpFileName);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -163,7 +165,7 @@ HGResult HGOCRHanvon::ImageOCRToFile(HGImage image, HGUInt outType, const HGChar
|
||||||
ret = HGBase_CreateDir(tmpDir);
|
ret = HGBase_CreateDir(tmpDir);
|
||||||
if (HGBASE_ERR_OK != ret)
|
if (HGBASE_ERR_OK != ret)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRHanvon::ImageOCRToFile: HGBase_CreateDir fail %s", tmpDir);
|
ErrorLog(g_hLog, "HGOCRHanvon::ImageOCRToFile: HGBase_CreateDir fail %s", tmpDir);
|
||||||
HGBase_DeleteFile(tmpFileName);
|
HGBase_DeleteFile(tmpFileName);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -173,7 +175,7 @@ HGResult HGOCRHanvon::ImageOCRToFile(HGImage image, HGUInt outType, const HGChar
|
||||||
HGBase_DeleteFile(tmpFileName);
|
HGBase_DeleteFile(tmpFileName);
|
||||||
if (0 != rc)
|
if (0 != rc)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRHanvon::ImageOCR: HWOCR_RecognizeFile fail in=%s, out=%s, tmpdir=%s",
|
ErrorLog(g_hLog, "HGOCRHanvon::ImageOCR: HWOCR_RecognizeFile fail in=%s, out=%s, tmpdir=%s",
|
||||||
tmpFileName, outFileName, tmpDir);
|
tmpFileName, outFileName, tmpDir);
|
||||||
return HGIMGPROC_ERR_OCR;
|
return HGIMGPROC_ERR_OCR;
|
||||||
}
|
}
|
||||||
|
@ -193,7 +195,7 @@ HGResult HGOCRHanvon::ImageTextDirectOCR(HGImage image, HGUInt* direct)
|
||||||
HGResult ret = HGImgFmt_SaveBmpImage(image, NULL, tmpFileName);
|
HGResult ret = HGImgFmt_SaveBmpImage(image, NULL, tmpFileName);
|
||||||
if (HGBASE_ERR_OK != ret)
|
if (HGBASE_ERR_OK != ret)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRHanvon::ImageTextDirectOCR: HGImgFmt_SaveBmpImage fail %s", tmpFileName);
|
ErrorLog(g_hLog, "HGOCRHanvon::ImageTextDirectOCR: HGImgFmt_SaveBmpImage fail %s", tmpFileName);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -229,7 +231,7 @@ HGResult HGOCRHanvon::AddToImageList(HGImage image)
|
||||||
HGResult ret = HGImgFmt_SaveJpegImage(image, NULL, tmpFileName);
|
HGResult ret = HGImgFmt_SaveJpegImage(image, NULL, tmpFileName);
|
||||||
if (HGBASE_ERR_OK != ret)
|
if (HGBASE_ERR_OK != ret)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRHanvon::AddToImageList: HGImgFmt_SaveJpegImage fail %s", tmpFileName);
|
ErrorLog(g_hLog, "HGOCRHanvon::AddToImageList: HGImgFmt_SaveJpegImage fail %s", tmpFileName);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -300,7 +302,7 @@ HGResult HGOCRHanvon::ImageListOCRToFile(HGUInt outType, const HGChar* outFileNa
|
||||||
#endif
|
#endif
|
||||||
if (0 != rc)
|
if (0 != rc)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRHanvon::ImageListOCRToFile: HWOCR_RecognizeFileBatch fail out=%s, tmpdir=%s",
|
ErrorLog(g_hLog, "HGOCRHanvon::ImageListOCRToFile: HWOCR_RecognizeFileBatch fail out=%s, tmpdir=%s",
|
||||||
outFileName, tmpDir);
|
outFileName, tmpDir);
|
||||||
ret = HGIMGPROC_ERR_OCR;
|
ret = HGIMGPROC_ERR_OCR;
|
||||||
}
|
}
|
||||||
|
@ -309,7 +311,7 @@ HGResult HGOCRHanvon::ImageListOCRToFile(HGUInt outType, const HGChar* outFileNa
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRHanvon::ImageListOCRToFile: HGBase_CreateDir fail %s", tmpDir);
|
ErrorLog(g_hLog, "HGOCRHanvon::ImageListOCRToFile: HGBase_CreateDir fail %s", tmpDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
delete[] ppImageFiles;
|
delete[] ppImageFiles;
|
||||||
|
|
|
@ -4,11 +4,13 @@
|
||||||
#include "HGOCRRetImpl.hpp"
|
#include "HGOCRRetImpl.hpp"
|
||||||
#include "../base/HGTime.h"
|
#include "../base/HGTime.h"
|
||||||
#include "../base/HGUtility.h"
|
#include "../base/HGUtility.h"
|
||||||
#include "../base/HGInfo.h"
|
|
||||||
#include "../imgfmt/HGBmp.h"
|
#include "../imgfmt/HGBmp.h"
|
||||||
#include "../imgfmt/HGJpeg.h"
|
#include "../imgfmt/HGJpeg.h"
|
||||||
|
#include "log/log.h"
|
||||||
#include "HGString.h"
|
#include "HGString.h"
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
HGOCRTesseract::HGOCRTesseract()
|
HGOCRTesseract::HGOCRTesseract()
|
||||||
{
|
{
|
||||||
m_baseApi = NULL;
|
m_baseApi = NULL;
|
||||||
|
@ -31,7 +33,7 @@ HGResult HGOCRTesseract::Init()
|
||||||
m_baseApi = TessBaseAPICreate();
|
m_baseApi = TessBaseAPICreate();
|
||||||
if (NULL == m_baseApi)
|
if (NULL == m_baseApi)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRTesseract::Init: TessBaseAPICreate fail");
|
ErrorLog(g_hLog, "HGOCRTesseract::Init: TessBaseAPICreate fail");
|
||||||
return HGIMGPROC_ERR_OCRINIT;
|
return HGIMGPROC_ERR_OCRINIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,7 +46,7 @@ HGResult HGOCRTesseract::Init()
|
||||||
int rc = TessBaseAPIInit3(m_baseApi, dataPath, "osd");
|
int rc = TessBaseAPIInit3(m_baseApi, dataPath, "osd");
|
||||||
if (0 != rc)
|
if (0 != rc)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRTesseract::Init: TessBaseAPIInit3 fail");
|
ErrorLog(g_hLog, "HGOCRTesseract::Init: TessBaseAPIInit3 fail");
|
||||||
TessBaseAPIDelete(m_baseApi);
|
TessBaseAPIDelete(m_baseApi);
|
||||||
m_baseApi = NULL;
|
m_baseApi = NULL;
|
||||||
return HGIMGPROC_ERR_OCRINIT;
|
return HGIMGPROC_ERR_OCRINIT;
|
||||||
|
@ -132,7 +134,7 @@ HGResult HGOCRTesseract::ImageOCRToFile(HGImage image, HGUInt outType, const HGC
|
||||||
HGResult ret = HGImgFmt_SaveBmpImage(image, NULL, tmpFileName);
|
HGResult ret = HGImgFmt_SaveBmpImage(image, NULL, tmpFileName);
|
||||||
if (HGBASE_ERR_OK != ret)
|
if (HGBASE_ERR_OK != ret)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRTesseract::ImageOCRToFile: HGImgFmt_SaveBmpImage fail %s", tmpFileName);
|
ErrorLog(g_hLog, "HGOCRTesseract::ImageOCRToFile: HGImgFmt_SaveBmpImage fail %s", tmpFileName);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,7 +181,7 @@ HGResult HGOCRTesseract::ImageTextDirectOCR(HGImage image, HGUInt* direct)
|
||||||
HGBase_GetTickCount(&tickEnd);
|
HGBase_GetTickCount(&tickEnd);
|
||||||
HGDouble seconds = 0.0;
|
HGDouble seconds = 0.0;
|
||||||
HGBase_GetIntervalSeconds(tickStart, tickEnd, &seconds);
|
HGBase_GetIntervalSeconds(tickStart, tickEnd, &seconds);
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DEBUG, "HGOCRTesseract::ImageTextDirectOCR seconds:%fs", seconds);
|
InfoLog(g_hLog, "HGOCRTesseract::ImageTextDirectOCR seconds:%fs", seconds);
|
||||||
|
|
||||||
if (TessOrientation::ORIENTATION_PAGE_UP == orientation)
|
if (TessOrientation::ORIENTATION_PAGE_UP == orientation)
|
||||||
*direct = HGIMGPROC_OCRTEXTDIRECT_ORI;
|
*direct = HGIMGPROC_OCRTEXTDIRECT_ORI;
|
||||||
|
@ -211,7 +213,7 @@ HGResult HGOCRTesseract::AddToImageList(HGImage image)
|
||||||
HGResult ret = HGImgFmt_OpenTiffWriter(m_tiffFileName.c_str(), &m_tiffWriter);
|
HGResult ret = HGImgFmt_OpenTiffWriter(m_tiffFileName.c_str(), &m_tiffWriter);
|
||||||
if (HGBASE_ERR_OK != ret)
|
if (HGBASE_ERR_OK != ret)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRTesseract::AddToImageList: HGImgFmt_OpenTiffWriter fail %s", m_tiffFileName.c_str());
|
ErrorLog(g_hLog, "HGOCRTesseract::AddToImageList: HGImgFmt_OpenTiffWriter fail %s", m_tiffFileName.c_str());
|
||||||
m_tiffFileName.clear();
|
m_tiffFileName.clear();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
#include "../base/HGDef.h"
|
||||||
|
#include "log/log.h"
|
||||||
|
HLOG g_hLog = nullptr;
|
||||||
|
|
||||||
|
#if defined(OEM_HANWANG)
|
||||||
|
const char* oem = "HanvonScan";
|
||||||
|
#elif defined(OEM_LISICHENG)
|
||||||
|
const char* oem = "LanxumScan";
|
||||||
|
#elif defined(OEM_CANGTIAN)
|
||||||
|
const char* oem = "CumtennScan";
|
||||||
|
#elif defined(OEM_ZHONGJING)
|
||||||
|
const char* oem = "MicrotekScan";
|
||||||
|
#elif defined(OEM_ZIGUANG)
|
||||||
|
const char* oem = "UniScan";
|
||||||
|
#elif defined(OEM_NEUTRAL)
|
||||||
|
const char* oem = "NeuScan";
|
||||||
|
#elif defined(OEM_DELI)
|
||||||
|
const char* oem = "DeliScan";
|
||||||
|
#else
|
||||||
|
const char* oem = "HuaGoScan";
|
||||||
|
#endif
|
||||||
|
#if defined(HG_CMP_MSC)
|
||||||
|
|
||||||
|
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
|
||||||
|
{
|
||||||
|
switch (ul_reason_for_call)
|
||||||
|
{
|
||||||
|
case DLL_PROCESS_ATTACH:
|
||||||
|
g_hLog = EnableLog(NULL, oem, "app");
|
||||||
|
break;
|
||||||
|
case DLL_THREAD_ATTACH:
|
||||||
|
break;
|
||||||
|
case DLL_THREAD_DETACH:
|
||||||
|
break;
|
||||||
|
case DLL_PROCESS_DETACH:
|
||||||
|
DisableLog(g_hLog);
|
||||||
|
g_hLog = nullptr;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
void __attribute__((constructor)) global_load(void);
|
||||||
|
void __attribute__((destructor)) global_unload(void);
|
||||||
|
|
||||||
|
void global_load(void)
|
||||||
|
{
|
||||||
|
g_hLog = EnableLog(NULL, oem, "app");
|
||||||
|
}
|
||||||
|
|
||||||
|
void global_unload(void)
|
||||||
|
{
|
||||||
|
DisableLog(g_hLog);
|
||||||
|
g_hLog = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
|
@ -1,6 +1,5 @@
|
||||||
#include "HGTwainImpl.hpp"
|
#include "HGTwainImpl.hpp"
|
||||||
#include "../base/HGInc.h"
|
#include "../base/HGInc.h"
|
||||||
#include "../base/HGInfo.h"
|
|
||||||
#include "../base/HGUtility.h"
|
#include "../base/HGUtility.h"
|
||||||
#include "app_cfg.h"
|
#include "app_cfg.h"
|
||||||
|
|
||||||
|
|
|
@ -4,12 +4,13 @@
|
||||||
#include <qwinwidget.hpp>
|
#include <qwinwidget.hpp>
|
||||||
#endif
|
#endif
|
||||||
#include "lang/app_language.h"
|
#include "lang/app_language.h"
|
||||||
|
#include "log/log.h"
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include <QMetaType>
|
#include <QMetaType>
|
||||||
#include "base/HGInfo.h"
|
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(HGImage)
|
Q_DECLARE_METATYPE(HGImage)
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
extern Manager* g_manager;
|
extern Manager* g_manager;
|
||||||
|
|
||||||
Manager::Manager()
|
Manager::Manager()
|
||||||
|
@ -107,7 +108,7 @@ int Manager::showSettingUi(SANE_Handle device, HWND parent, LPSANEAPI api, const
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
emit createSettingUi(hStopEvent);
|
emit createSettingUi(hStopEvent);
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "[Manager::showSettingUi] emit createSettingUi(ThreadId)");
|
InfoLog(g_hLog, "[Manager::showSettingUi] emit createSettingUi(ThreadId)");
|
||||||
|
|
||||||
#ifdef HG_CMP_MSC
|
#ifdef HG_CMP_MSC
|
||||||
if (nullptr != hStopEvent)
|
if (nullptr != hStopEvent)
|
||||||
|
@ -136,7 +137,7 @@ int Manager::showProgressUi(HWND parent, std::function<void (ui_result)> callbac
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
emit createProgressUi(hStopEvent);
|
emit createProgressUi(hStopEvent);
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "[Manager::showProgressUi] emit createProgressUi(ThreadId)");
|
InfoLog(g_hLog, "[Manager::showProgressUi] emit createProgressUi(ThreadId)");
|
||||||
|
|
||||||
#ifdef HG_CMP_MSC
|
#ifdef HG_CMP_MSC
|
||||||
if (nullptr != hStopEvent)
|
if (nullptr != hStopEvent)
|
||||||
|
@ -146,7 +147,7 @@ int Manager::showProgressUi(HWND parent, std::function<void (ui_result)> callbac
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "[Manager::showProgressUi] Exit Message Loop");
|
InfoLog(g_hLog, "[Manager::showProgressUi] Exit Message Loop");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -462,7 +463,7 @@ void Manager::on_createSettingUi(void *hEvent)
|
||||||
}
|
}
|
||||||
|
|
||||||
m_settingUi->show();
|
m_settingUi->show();
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "[Manager::on_createSettingUi] m_settingUi->show()");
|
InfoLog(g_hLog, "[Manager::on_createSettingUi] m_settingUi->show()");
|
||||||
|
|
||||||
#ifdef HG_CMP_MSC
|
#ifdef HG_CMP_MSC
|
||||||
if (nullptr != hEvent)
|
if (nullptr != hEvent)
|
||||||
|
@ -503,7 +504,7 @@ void Manager::on_createProgressUi(void *hEvent)
|
||||||
m_progressUi = new Dialog_progress_ui(this, close_prog, m_progNotify, qParent);
|
m_progressUi = new Dialog_progress_ui(this, close_prog, m_progNotify, qParent);
|
||||||
m_progressUi->setModal(true);
|
m_progressUi->setModal(true);
|
||||||
m_progressUi->show();
|
m_progressUi->show();
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "[Manager::on_createProgressUi] m_progressUi->show()");
|
InfoLog(g_hLog, "[Manager::on_createProgressUi] m_progressUi->show()");
|
||||||
|
|
||||||
#ifdef HG_CMP_MSC
|
#ifdef HG_CMP_MSC
|
||||||
if (nullptr != hEvent)
|
if (nullptr != hEvent)
|
||||||
|
|
|
@ -6,8 +6,10 @@
|
||||||
#include "base/HGMsgPump.h"
|
#include "base/HGMsgPump.h"
|
||||||
#include <QTranslator>
|
#include <QTranslator>
|
||||||
#include "lang/app_language.h"
|
#include "lang/app_language.h"
|
||||||
|
#include "log/log.h"
|
||||||
#include "Manager.h"
|
#include "Manager.h"
|
||||||
|
|
||||||
|
HLOG g_hLog = nullptr;
|
||||||
HGEvent g_event = NULL;
|
HGEvent g_event = NULL;
|
||||||
HGThread g_hThread = NULL;
|
HGThread g_hThread = NULL;
|
||||||
Manager* g_manager = NULL;
|
Manager* g_manager = NULL;
|
||||||
|
@ -18,15 +20,36 @@ Manager* g_manager = NULL;
|
||||||
|
|
||||||
HINSTANCE g_hInst = NULL;
|
HINSTANCE g_hInst = NULL;
|
||||||
|
|
||||||
|
#if defined(OEM_HANWANG)
|
||||||
|
const char* oem = "HanvonScan";
|
||||||
|
#elif defined(OEM_LISICHENG)
|
||||||
|
const char* oem = "LanxumScan";
|
||||||
|
#elif defined(OEM_CANGTIAN)
|
||||||
|
const char* oem = "CumtennScan";
|
||||||
|
#elif defined(OEM_ZHONGJING)
|
||||||
|
const char* oem = "MicrotekScan";
|
||||||
|
#elif defined(OEM_ZIGUANG)
|
||||||
|
const char* oem = "UniScan";
|
||||||
|
#elif defined(OEM_NEUTRAL)
|
||||||
|
const char* oem = "NeuScan";
|
||||||
|
#elif defined(OEM_DELI)
|
||||||
|
const char* oem = "DeliScan";
|
||||||
|
#else
|
||||||
|
const char* oem = "HuaGoScan";
|
||||||
|
#endif
|
||||||
|
|
||||||
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpvReserved*/)
|
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpvReserved*/)
|
||||||
{
|
{
|
||||||
if (dwReason == DLL_PROCESS_ATTACH)
|
if (dwReason == DLL_PROCESS_ATTACH)
|
||||||
{
|
{
|
||||||
g_hInst = hInstance;
|
g_hInst = hInstance;
|
||||||
|
g_hLog = EnableLog(NULL, oem, "app");
|
||||||
}
|
}
|
||||||
else if (dwReason == DLL_PROCESS_DETACH)
|
else if (dwReason == DLL_PROCESS_DETACH)
|
||||||
{
|
{
|
||||||
g_hInst = NULL;
|
g_hInst = NULL;
|
||||||
|
DisableLog(g_hLog);
|
||||||
|
g_hLog = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -38,12 +61,13 @@ void __attribute__((destructor)) global_unload(void);
|
||||||
|
|
||||||
void global_load(void)
|
void global_load(void)
|
||||||
{
|
{
|
||||||
|
g_hLog = EnableLog(NULL, oem, "app");
|
||||||
}
|
}
|
||||||
|
|
||||||
void global_unload(void)
|
void global_unload(void)
|
||||||
{
|
{
|
||||||
|
DisableLog(g_hLog);
|
||||||
|
g_hLog = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
#include "HGVersionImpl.hpp"
|
#include "HGVersionImpl.hpp"
|
||||||
#include "../base/HGInc.h"
|
#include "../base/HGInc.h"
|
||||||
#include "../base/HGInfo.h"
|
|
||||||
#include "../base/HGMd5.h"
|
#include "../base/HGMd5.h"
|
||||||
#include "../base/HGUtility.h"
|
#include "../base/HGUtility.h"
|
||||||
|
#include "log/log.h"
|
||||||
#include "HGVersionMsg.hpp"
|
#include "HGVersionMsg.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
@ -12,6 +12,9 @@
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include "cJSON.h"
|
#include "cJSON.h"
|
||||||
#include "curl/curl.h"
|
#include "curl/curl.h"
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
#if defined(HG_CMP_MSC)
|
#if defined(HG_CMP_MSC)
|
||||||
#include <iphlpapi.h>
|
#include <iphlpapi.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -71,11 +74,11 @@ static HGResult GetServerConfig(HGServerConfig& config)
|
||||||
CURLcode res = curl_easy_perform(curl);
|
CURLcode res = curl_easy_perform(curl);
|
||||||
/* Check for errors */
|
/* Check for errors */
|
||||||
if (res != CURLE_OK)
|
if (res != CURLE_OK)
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
ErrorLog(g_hLog, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::string str_json = out.str(); // 返回值
|
std::string str_json = out.str(); // 返回值
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
DebugLog(g_hLog, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
||||||
|
|
||||||
cJSON* json = cJSON_Parse(str_json.c_str());
|
cJSON* json = cJSON_Parse(str_json.c_str());
|
||||||
if (NULL != json)
|
if (NULL != json)
|
||||||
|
@ -121,7 +124,7 @@ static HGResult GetServerConfig(HGServerConfig& config)
|
||||||
|
|
||||||
static int xferinfo(void* p, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow)
|
static int xferinfo(void* p, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "ulnow=%lld, ultotal=%lld", ulnow, ultotal);
|
DebugLog(g_hLog, "ulnow=%lld, ultotal=%lld", ulnow, ultotal);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -155,11 +158,11 @@ static HGResult CrashFileUpload(const std::string& crashFilePath, std::string& c
|
||||||
CURLcode res = curl_easy_perform(curl);
|
CURLcode res = curl_easy_perform(curl);
|
||||||
/* Check for errors */
|
/* Check for errors */
|
||||||
if (res != CURLE_OK)
|
if (res != CURLE_OK)
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
ErrorLog(g_hLog, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::string str_json = out.str(); // 返回值
|
std::string str_json = out.str(); // 返回值
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
DebugLog(g_hLog, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
||||||
|
|
||||||
cJSON* json = cJSON_Parse(str_json.c_str());
|
cJSON* json = cJSON_Parse(str_json.c_str());
|
||||||
if (NULL != json)
|
if (NULL != json)
|
||||||
|
@ -291,7 +294,7 @@ static void GetMacAddrList(std::vector<std::string>& macList)
|
||||||
DIR* dir = opendir("/sys/class/net");
|
DIR* dir = opendir("/sys/class/net");
|
||||||
if (NULL != dir)
|
if (NULL != dir)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "GetMacAddrList: opendir success");
|
DebugLog(g_hLog, "GetMacAddrList: opendir success");
|
||||||
|
|
||||||
struct dirent* ent;
|
struct dirent* ent;
|
||||||
while ((ent = readdir(dir)) != NULL)
|
while ((ent = readdir(dir)) != NULL)
|
||||||
|
@ -303,7 +306,7 @@ static void GetMacAddrList(std::vector<std::string>& macList)
|
||||||
|| strstr(ent->d_name, "ip6tnl") == ent->d_name || strcmp(ent->d_name, "lo") == 0)
|
|| strstr(ent->d_name, "ip6tnl") == ent->d_name || strcmp(ent->d_name, "lo") == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "GetMacAddrList: name %s", ent->d_name);
|
DebugLog(g_hLog, "GetMacAddrList: name %s", ent->d_name);
|
||||||
|
|
||||||
char addrPath[256];
|
char addrPath[256];
|
||||||
sprintf(addrPath, "/sys/class/net/%s/address", ent->d_name);
|
sprintf(addrPath, "/sys/class/net/%s/address", ent->d_name);
|
||||||
|
@ -328,12 +331,12 @@ static void GetMacAddrList(std::vector<std::string>& macList)
|
||||||
macList.push_back(mac);
|
macList.push_back(mac);
|
||||||
}
|
}
|
||||||
|
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "GetMacAddrList: mac %s", mac);
|
DebugLog(g_hLog, "GetMacAddrList: mac %s", mac);
|
||||||
fclose(file);
|
fclose(file);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "GetMacAddrList: fopen fail %s", addrPath);
|
ErrorLog(g_hLog, "GetMacAddrList: fopen fail %s", addrPath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -341,7 +344,7 @@ static void GetMacAddrList(std::vector<std::string>& macList)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "GetMacAddrList: opendir fail %s", "/sys/class/net");
|
ErrorLog(g_hLog, "GetMacAddrList: opendir fail %s", "/sys/class/net");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -593,11 +596,11 @@ static HGResult PostInfo(int type, const std::string& appName, const std::string
|
||||||
CURLcode res = curl_easy_perform(curl);
|
CURLcode res = curl_easy_perform(curl);
|
||||||
/* Check for errors */
|
/* Check for errors */
|
||||||
if (res != CURLE_OK)
|
if (res != CURLE_OK)
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
ErrorLog(g_hLog, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::string str_json = out.str(); // 返回值
|
std::string str_json = out.str(); // 返回值
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
DebugLog(g_hLog, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
||||||
|
|
||||||
cJSON* json = cJSON_Parse(str_json.c_str());
|
cJSON* json = cJSON_Parse(str_json.c_str());
|
||||||
if (NULL != json)
|
if (NULL != json)
|
||||||
|
@ -700,11 +703,11 @@ static HGResult PostDeviceInfo(const std::string& devName, const std::string& de
|
||||||
CURLcode res = curl_easy_perform(curl);
|
CURLcode res = curl_easy_perform(curl);
|
||||||
/* Check for errors */
|
/* Check for errors */
|
||||||
if (res != CURLE_OK)
|
if (res != CURLE_OK)
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
ErrorLog(g_hLog, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::string str_json = out.str(); // 返回值
|
std::string str_json = out.str(); // 返回值
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
DebugLog(g_hLog, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
||||||
|
|
||||||
cJSON* json = cJSON_Parse(str_json.c_str());
|
cJSON* json = cJSON_Parse(str_json.c_str());
|
||||||
if (NULL != json)
|
if (NULL != json)
|
||||||
|
@ -798,11 +801,11 @@ static HGResult PostDeviceLockInfo(const std::string& devName, const std::string
|
||||||
CURLcode res = curl_easy_perform(curl);
|
CURLcode res = curl_easy_perform(curl);
|
||||||
/* Check for errors */
|
/* Check for errors */
|
||||||
if (res != CURLE_OK)
|
if (res != CURLE_OK)
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
ErrorLog(g_hLog, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::string str_json = out.str(); // 返回值
|
std::string str_json = out.str(); // 返回值
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
DebugLog(g_hLog, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
||||||
|
|
||||||
cJSON* json = cJSON_Parse(str_json.c_str());
|
cJSON* json = cJSON_Parse(str_json.c_str());
|
||||||
if (NULL != json)
|
if (NULL != json)
|
||||||
|
@ -903,11 +906,11 @@ static HGResult PostUserInfo(const std::string& appName, const std::string& oemN
|
||||||
CURLcode res = curl_easy_perform(curl);
|
CURLcode res = curl_easy_perform(curl);
|
||||||
/* Check for errors */
|
/* Check for errors */
|
||||||
if (res != CURLE_OK)
|
if (res != CURLE_OK)
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
ErrorLog(g_hLog, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::string str_json = out.str(); // 返回值
|
std::string str_json = out.str(); // 返回值
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
DebugLog(g_hLog, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
||||||
|
|
||||||
cJSON* json = cJSON_Parse(str_json.c_str());
|
cJSON* json = cJSON_Parse(str_json.c_str());
|
||||||
if (NULL != json)
|
if (NULL != json)
|
||||||
|
@ -967,11 +970,11 @@ static HGResult GetVersionList(const std::string& appName, const std::string& oe
|
||||||
CURLcode res = curl_easy_perform(curl);
|
CURLcode res = curl_easy_perform(curl);
|
||||||
/* Check for errors */
|
/* Check for errors */
|
||||||
if (res != CURLE_OK)
|
if (res != CURLE_OK)
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
ErrorLog(g_hLog, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::string str_json = out.str(); // 返回值
|
std::string str_json = out.str(); // 返回值
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
DebugLog(g_hLog, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
||||||
|
|
||||||
cJSON* json = cJSON_Parse(str_json.c_str());
|
cJSON* json = cJSON_Parse(str_json.c_str());
|
||||||
if (NULL != json)
|
if (NULL != json)
|
||||||
|
@ -1043,7 +1046,7 @@ struct myprogress
|
||||||
|
|
||||||
static int xferinfo2(void* p, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow)
|
static int xferinfo2(void* p, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "ulnow=%lld, ultotal=%lld", ulnow, ultotal);
|
DebugLog(g_hLog, "ulnow=%lld, ultotal=%lld", ulnow, ultotal);
|
||||||
|
|
||||||
struct myprogress* myp = (struct myprogress*)p;
|
struct myprogress* myp = (struct myprogress*)p;
|
||||||
if (NULL != myp->func)
|
if (NULL != myp->func)
|
||||||
|
@ -1077,7 +1080,7 @@ static HGResult HttpDownload(const std::string& url, const std::string& saveFile
|
||||||
CURLcode res = curl_easy_perform(curl);
|
CURLcode res = curl_easy_perform(curl);
|
||||||
/* Check for errors */
|
/* Check for errors */
|
||||||
if (res != CURLE_OK)
|
if (res != CURLE_OK)
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
ErrorLog(g_hLog, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
||||||
else
|
else
|
||||||
ret = HGBASE_ERR_OK;
|
ret = HGBASE_ERR_OK;
|
||||||
|
|
||||||
|
@ -1085,7 +1088,7 @@ static HGResult HttpDownload(const std::string& url, const std::string& saveFile
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HttpDownload: Create File Fail %s", saveFilePath.c_str());
|
ErrorLog(g_hLog, "HttpDownload: Create File Fail %s", saveFilePath.c_str());
|
||||||
ret = HGBASE_ERR_ACCESSDENIED;
|
ret = HGBASE_ERR_ACCESSDENIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1589,11 +1592,11 @@ HGResult HGVersionMgrImpl::BlackListCheck(const HGChar* devSN, HGBool* inList)
|
||||||
CURLcode res = curl_easy_perform(curl);
|
CURLcode res = curl_easy_perform(curl);
|
||||||
/* Check for errors */
|
/* Check for errors */
|
||||||
if (res != CURLE_OK)
|
if (res != CURLE_OK)
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
ErrorLog(g_hLog, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::string str_json = out.str(); // 返回值
|
std::string str_json = out.str(); // 返回值
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
DebugLog(g_hLog, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
||||||
|
|
||||||
cJSON* json = cJSON_Parse(str_json.c_str());
|
cJSON* json = cJSON_Parse(str_json.c_str());
|
||||||
if (NULL != json)
|
if (NULL != json)
|
||||||
|
@ -1654,11 +1657,11 @@ static HGResult GetDriverVersionList(const std::string& devType, std::list<Versi
|
||||||
CURLcode res = curl_easy_perform(curl);
|
CURLcode res = curl_easy_perform(curl);
|
||||||
/* Check for errors */
|
/* Check for errors */
|
||||||
if (res != CURLE_OK)
|
if (res != CURLE_OK)
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
ErrorLog(g_hLog, "curl_easy_perform() failed: %s", curl_easy_strerror(res));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::string str_json = out.str(); // 返回值
|
std::string str_json = out.str(); // 返回值
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
DebugLog(g_hLog, "str_json=%s", Utf8ToStdString(str_json).c_str());
|
||||||
|
|
||||||
cJSON* json = cJSON_Parse(str_json.c_str());
|
cJSON* json = cJSON_Parse(str_json.c_str());
|
||||||
if (NULL != json)
|
if (NULL != json)
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
#include "../base/HGDef.h"
|
||||||
|
#include "log/log.h"
|
||||||
|
HLOG g_hLog = nullptr;
|
||||||
|
|
||||||
|
#if defined(OEM_HANWANG)
|
||||||
|
const char* oem = "HanvonScan";
|
||||||
|
#elif defined(OEM_LISICHENG)
|
||||||
|
const char* oem = "LanxumScan";
|
||||||
|
#elif defined(OEM_CANGTIAN)
|
||||||
|
const char* oem = "CumtennScan";
|
||||||
|
#elif defined(OEM_ZHONGJING)
|
||||||
|
const char* oem = "MicrotekScan";
|
||||||
|
#elif defined(OEM_ZIGUANG)
|
||||||
|
const char* oem = "UniScan";
|
||||||
|
#elif defined(OEM_NEUTRAL)
|
||||||
|
const char* oem = "NeuScan";
|
||||||
|
#elif defined(OEM_DELI)
|
||||||
|
const char* oem = "DeliScan";
|
||||||
|
#else
|
||||||
|
const char* oem = "HuaGoScan";
|
||||||
|
#endif
|
||||||
|
#if defined(HG_CMP_MSC)
|
||||||
|
|
||||||
|
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
|
||||||
|
{
|
||||||
|
switch (ul_reason_for_call)
|
||||||
|
{
|
||||||
|
case DLL_PROCESS_ATTACH:
|
||||||
|
g_hLog = EnableLog(NULL, oem, "app");
|
||||||
|
break;
|
||||||
|
case DLL_THREAD_ATTACH:
|
||||||
|
break;
|
||||||
|
case DLL_THREAD_DETACH:
|
||||||
|
break;
|
||||||
|
case DLL_PROCESS_DETACH:
|
||||||
|
DisableLog(g_hLog);
|
||||||
|
g_hLog = nullptr;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
void __attribute__((constructor)) global_load(void);
|
||||||
|
void __attribute__((destructor)) global_unload(void);
|
||||||
|
|
||||||
|
void global_load(void)
|
||||||
|
{
|
||||||
|
g_hLog = EnableLog(NULL, oem, "app");
|
||||||
|
}
|
||||||
|
|
||||||
|
void global_unload(void)
|
||||||
|
{
|
||||||
|
DisableLog(g_hLog);
|
||||||
|
g_hLog = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
|
@ -1,9 +1,11 @@
|
||||||
#include "HGLibDeviceImpl.hpp"
|
#include "HGLibDeviceImpl.hpp"
|
||||||
#include "base/HGInc.h"
|
#include "base/HGInc.h"
|
||||||
#include "base/HGInfo.h"
|
|
||||||
#include "base/HGImage.h"
|
#include "base/HGImage.h"
|
||||||
|
#include "log/log.h"
|
||||||
#include "HGString.h"
|
#include "HGString.h"
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
const char* GROUP_NAME[] = {
|
const char* GROUP_NAME[] = {
|
||||||
NULL,
|
NULL,
|
||||||
"grp-1",
|
"grp-1",
|
||||||
|
@ -1273,7 +1275,7 @@ int HGLibDeviceImpl::sane_ex_callback(SANE_Handle hdev, int code, void* data, un
|
||||||
case SANE_EVENT_DEVICE_ARRIVED:
|
case SANE_EVENT_DEVICE_ARRIVED:
|
||||||
{
|
{
|
||||||
SANE_Device* sane_dev = (SANE_Device*)data;
|
SANE_Device* sane_dev = (SANE_Device*)data;
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_DEVICE_ARRIVED, name=%s", Utf8ToStdString(sane_dev->name).c_str());
|
InfoLog(g_hLog, "SANE_EVENT_DEVICE_ARRIVED, name=%s", Utf8ToStdString(sane_dev->name).c_str());
|
||||||
|
|
||||||
if (NULL != m_hotPlugEventFunc)
|
if (NULL != m_hotPlugEventFunc)
|
||||||
m_hotPlugEventFunc(HGLIB_DEVHOTPLUG_EVENT_ARRIVE, sane_dev->name, m_hotPlugEventParam);
|
m_hotPlugEventFunc(HGLIB_DEVHOTPLUG_EVENT_ARRIVE, sane_dev->name, m_hotPlugEventParam);
|
||||||
|
@ -1282,7 +1284,7 @@ int HGLibDeviceImpl::sane_ex_callback(SANE_Handle hdev, int code, void* data, un
|
||||||
case SANE_EVENT_DEVICE_LEFT:
|
case SANE_EVENT_DEVICE_LEFT:
|
||||||
{
|
{
|
||||||
SANE_Device* sane_dev = (SANE_Device*)data;
|
SANE_Device* sane_dev = (SANE_Device*)data;
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_DEVICE_LEFT, name=%s", Utf8ToStdString(sane_dev->name).c_str());
|
InfoLog(g_hLog, "SANE_EVENT_DEVICE_LEFT, name=%s", Utf8ToStdString(sane_dev->name).c_str());
|
||||||
|
|
||||||
if (NULL != m_hotPlugEventFunc)
|
if (NULL != m_hotPlugEventFunc)
|
||||||
m_hotPlugEventFunc(HGLIB_DEVHOTPLUG_EVENT_REMOVE, sane_dev->name, m_hotPlugEventParam);
|
m_hotPlugEventFunc(HGLIB_DEVHOTPLUG_EVENT_REMOVE, sane_dev->name, m_hotPlugEventParam);
|
||||||
|
@ -1290,7 +1292,7 @@ int HGLibDeviceImpl::sane_ex_callback(SANE_Handle hdev, int code, void* data, un
|
||||||
break;
|
break;
|
||||||
case SANE_EVENT_WORKING:
|
case SANE_EVENT_WORKING:
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_WORKING, msg=%s", Utf8ToStdString((char*)data).c_str());
|
InfoLog(g_hLog, "SANE_EVENT_WORKING, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||||
|
|
||||||
HGLibDeviceImpl* deviceImpl = m_deviceList[hdev];
|
HGLibDeviceImpl* deviceImpl = m_deviceList[hdev];
|
||||||
if (NULL != deviceImpl->m_eventFunc)
|
if (NULL != deviceImpl->m_eventFunc)
|
||||||
|
@ -1304,7 +1306,7 @@ int HGLibDeviceImpl::sane_ex_callback(SANE_Handle hdev, int code, void* data, un
|
||||||
break;
|
break;
|
||||||
case SANE_EVENT_SCAN_FINISHED:
|
case SANE_EVENT_SCAN_FINISHED:
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_SCAN_FINISHED, msg=%s", Utf8ToStdString((char*)data).c_str());
|
InfoLog(g_hLog, "SANE_EVENT_SCAN_FINISHED, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||||
|
|
||||||
HGLibDeviceImpl* deviceImpl = m_deviceList[hdev];
|
HGLibDeviceImpl* deviceImpl = m_deviceList[hdev];
|
||||||
if (NULL != deviceImpl->m_eventFunc)
|
if (NULL != deviceImpl->m_eventFunc)
|
||||||
|
@ -1332,17 +1334,17 @@ int HGLibDeviceImpl::sane_ex_callback(SANE_Handle hdev, int code, void* data, un
|
||||||
break;
|
break;
|
||||||
case SANE_EVENT_STATUS:
|
case SANE_EVENT_STATUS:
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_STATUS, msg=%s", Utf8ToStdString((char*)data).c_str());
|
InfoLog(g_hLog, "SANE_EVENT_STATUS, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SANE_EVENT_ERROR:
|
case SANE_EVENT_ERROR:
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_ERROR, msg=%s", Utf8ToStdString((char*)data).c_str());
|
InfoLog(g_hLog, "SANE_EVENT_ERROR, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SANE_EVENT_IMAGE_OK:
|
case SANE_EVENT_IMAGE_OK:
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_IMAGE_OK");
|
InfoLog(g_hLog, "SANE_EVENT_IMAGE_OK");
|
||||||
|
|
||||||
SANE_Image* sane_img = (SANE_Image*)data;
|
SANE_Image* sane_img = (SANE_Image*)data;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
#include "../base/HGDef.h"
|
||||||
|
#include "log/log.h"
|
||||||
|
HLOG g_hLog = nullptr;
|
||||||
|
|
||||||
|
#if defined(OEM_HANWANG)
|
||||||
|
const char* oem = "HanvonScan";
|
||||||
|
#elif defined(OEM_LISICHENG)
|
||||||
|
const char* oem = "LanxumScan";
|
||||||
|
#elif defined(OEM_CANGTIAN)
|
||||||
|
const char* oem = "CumtennScan";
|
||||||
|
#elif defined(OEM_ZHONGJING)
|
||||||
|
const char* oem = "MicrotekScan";
|
||||||
|
#elif defined(OEM_ZIGUANG)
|
||||||
|
const char* oem = "UniScan";
|
||||||
|
#elif defined(OEM_NEUTRAL)
|
||||||
|
const char* oem = "NeuScan";
|
||||||
|
#elif defined(OEM_DELI)
|
||||||
|
const char* oem = "DeliScan";
|
||||||
|
#else
|
||||||
|
const char* oem = "HuaGoScan";
|
||||||
|
#endif
|
||||||
|
#if defined(HG_CMP_MSC)
|
||||||
|
|
||||||
|
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
|
||||||
|
{
|
||||||
|
switch (ul_reason_for_call)
|
||||||
|
{
|
||||||
|
case DLL_PROCESS_ATTACH:
|
||||||
|
g_hLog = EnableLog(NULL, oem, "app");
|
||||||
|
break;
|
||||||
|
case DLL_THREAD_ATTACH:
|
||||||
|
break;
|
||||||
|
case DLL_THREAD_DETACH:
|
||||||
|
break;
|
||||||
|
case DLL_PROCESS_DETACH:
|
||||||
|
DisableLog(g_hLog);
|
||||||
|
g_hLog = nullptr;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
void __attribute__((constructor)) global_load(void);
|
||||||
|
void __attribute__((destructor)) global_unload(void);
|
||||||
|
|
||||||
|
void global_load(void)
|
||||||
|
{
|
||||||
|
g_hLog = EnableLog(NULL, oem, "app");
|
||||||
|
}
|
||||||
|
|
||||||
|
void global_unload(void)
|
||||||
|
{
|
||||||
|
DisableLog(g_hLog);
|
||||||
|
g_hLog = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
|
@ -1,6 +1,5 @@
|
||||||
#include "HttpServer.h"
|
#include "HttpServer.h"
|
||||||
#include "HttpUser.h"
|
#include "HttpUser.h"
|
||||||
#include "base/HGInfo.h"
|
|
||||||
|
|
||||||
namespace ver_1
|
namespace ver_1
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
#include "HttpUser.h"
|
#include "HttpUser.h"
|
||||||
#include "HttpServer.h"
|
#include "HttpServer.h"
|
||||||
#include "ManagerV1.h"
|
#include "ManagerV1.h"
|
||||||
#include "base/HGInfo.h"
|
#include "log/log.h"
|
||||||
#include "cJSON.h"
|
#include "cJSON.h"
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
namespace ver_1
|
namespace ver_1
|
||||||
{
|
{
|
||||||
static std::string ToJsonPair(const std::string& key, int value, bool sep)
|
static std::string ToJsonPair(const std::string& key, int value, bool sep)
|
||||||
|
@ -131,7 +133,7 @@ namespace ver_1
|
||||||
HttpPairs requestURIQueryInfos = param->head.GetRequestURIQueryInfos();
|
HttpPairs requestURIQueryInfos = param->head.GetRequestURIQueryInfos();
|
||||||
std::string requestHttpVersion = param->head.GetRequestHttpVersion();
|
std::string requestHttpVersion = param->head.GetRequestHttpVersion();
|
||||||
|
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "HttpUser: method=%s, path=%s, httpVersion=%s",
|
InfoLog(g_hLog, "HttpUser: method=%s, path=%s, httpVersion=%s",
|
||||||
requestMethod.c_str(), requestURIPath.c_str(), requestHttpVersion.c_str());
|
requestMethod.c_str(), requestURIPath.c_str(), requestHttpVersion.c_str());
|
||||||
|
|
||||||
if (requestMethod == "POST" && requestURIPath == "/WebScan/getVersionInfo")
|
if (requestMethod == "POST" && requestURIPath == "/WebScan/getVersionInfo")
|
||||||
|
@ -752,7 +754,7 @@ namespace ver_1
|
||||||
|
|
||||||
void HttpUser::ThreadFunc()
|
void HttpUser::ThreadFunc()
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "HttpUser::ThreadFunc");
|
InfoLog(g_hLog, "HttpUser::ThreadFunc");
|
||||||
|
|
||||||
char chBuffer[2048];
|
char chBuffer[2048];
|
||||||
const char* pBuffer = chBuffer;
|
const char* pBuffer = chBuffer;
|
||||||
|
|
|
@ -3,13 +3,15 @@
|
||||||
#include "base/HGBase64.h"
|
#include "base/HGBase64.h"
|
||||||
#include "base/HGUtility.h"
|
#include "base/HGUtility.h"
|
||||||
#include "base/HGIni.h"
|
#include "base/HGIni.h"
|
||||||
#include "base/HGInfo.h"
|
|
||||||
#include "imgfmt/HGJpeg.h"
|
#include "imgfmt/HGJpeg.h"
|
||||||
#include "imgfmt/HGOfd.h"
|
#include "imgfmt/HGOfd.h"
|
||||||
#include "imgfmt/HGPdf.h"
|
#include "imgfmt/HGPdf.h"
|
||||||
#include "imgfmt/HGTiff.h"
|
#include "imgfmt/HGTiff.h"
|
||||||
#include "imgfmt/HGImgFmt.h"
|
#include "imgfmt/HGImgFmt.h"
|
||||||
|
#include "log/log.h"
|
||||||
#include "HGString.h"
|
#include "HGString.h"
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
#include "zip.h"
|
#include "zip.h"
|
||||||
|
@ -355,7 +357,7 @@ namespace ver_1
|
||||||
|
|
||||||
std::string filePath = GetFilePath(devId);
|
std::string filePath = GetFilePath(devId);
|
||||||
std::vector<std::string> fileNameList = GetFileNameList(devId);
|
std::vector<std::string> fileNameList = GetFileNameList(devId);
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DEBUG, "filePath=%s", filePath.c_str());
|
InfoLog(g_hLog, "filePath=%s", filePath.c_str());
|
||||||
|
|
||||||
for (int i = 0; i < (int)fileNameList.size(); ++i)
|
for (int i = 0; i < (int)fileNameList.size(); ++i)
|
||||||
{
|
{
|
||||||
|
@ -401,13 +403,13 @@ namespace ver_1
|
||||||
if (NULL == desp)
|
if (NULL == desp)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "title=%s", Utf8ToStdString(desp->title).c_str());
|
InfoLog(g_hLog, "title=%s", Utf8ToStdString(desp->title).c_str());
|
||||||
|
|
||||||
if (SANE_TYPE_BOOL == desp->type)
|
if (SANE_TYPE_BOOL == desp->type)
|
||||||
{
|
{
|
||||||
SANE_Bool value = 0;
|
SANE_Bool value = 0;
|
||||||
sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, &value, NULL);
|
sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, &value, NULL);
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, " valueType=BOOL, value=%s", value ? "TRUE" : "FALSE");
|
InfoLog(g_hLog, " valueType=BOOL, value=%s", value ? "TRUE" : "FALSE");
|
||||||
|
|
||||||
if (0 == strcmp(desp->title, OPTION_TITLE_TXCF))
|
if (0 == strcmp(desp->title, OPTION_TITLE_TXCF))
|
||||||
m_devParam.splitImage = value ? 1 : 0;
|
m_devParam.splitImage = value ? 1 : 0;
|
||||||
|
@ -418,7 +420,7 @@ namespace ver_1
|
||||||
{
|
{
|
||||||
SANE_Int value = 0;
|
SANE_Int value = 0;
|
||||||
sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, &value, NULL);
|
sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, &value, NULL);
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, " valueType=INT, value=%d", value);
|
InfoLog(g_hLog, " valueType=INT, value=%d", value);
|
||||||
|
|
||||||
if (0 == strcmp(desp->title, OPTION_TITLE_TGKBYLMD))
|
if (0 == strcmp(desp->title, OPTION_TITLE_TGKBYLMD))
|
||||||
m_devParam.discardBlankThre = value;
|
m_devParam.discardBlankThre = value;
|
||||||
|
@ -427,13 +429,13 @@ namespace ver_1
|
||||||
}
|
}
|
||||||
else if (SANE_TYPE_FIXED == desp->type)
|
else if (SANE_TYPE_FIXED == desp->type)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, " valueType=FIXED");
|
InfoLog(g_hLog, " valueType=FIXED");
|
||||||
}
|
}
|
||||||
else if (SANE_TYPE_STRING == desp->type)
|
else if (SANE_TYPE_STRING == desp->type)
|
||||||
{
|
{
|
||||||
char value[256] = { 0 };
|
char value[256] = { 0 };
|
||||||
sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, value, NULL);
|
sane_control_option(m_devHandle, i, SANE_ACTION_GET_VALUE, value, NULL);
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, " valueType=STRING, value=%s", Utf8ToStdString(value).c_str());
|
InfoLog(g_hLog, " valueType=STRING, value=%s", Utf8ToStdString(value).c_str());
|
||||||
|
|
||||||
if (0 == strcmp(OPTION_TITLE_SMZS, desp->title) && 0 == strcmp(OPTION_VALUE_SMZS_LXSM, value))
|
if (0 == strcmp(OPTION_TITLE_SMZS, desp->title) && 0 == strcmp(OPTION_VALUE_SMZS_LXSM, value))
|
||||||
m_devParam.autofeeder = true;
|
m_devParam.autofeeder = true;
|
||||||
|
@ -479,11 +481,11 @@ namespace ver_1
|
||||||
}
|
}
|
||||||
else if (SANE_TYPE_BUTTON == desp->type)
|
else if (SANE_TYPE_BUTTON == desp->type)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, " valueType=BUTTON");
|
InfoLog(g_hLog, " valueType=BUTTON");
|
||||||
}
|
}
|
||||||
else if (SANE_TYPE_GROUP == desp->type)
|
else if (SANE_TYPE_GROUP == desp->type)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, " valueType=GROUP");
|
InfoLog(g_hLog, " valueType=GROUP");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -896,7 +898,7 @@ namespace ver_1
|
||||||
zip* z = zip_open(StdStringToUtf8(fileName).c_str(), ZIP_CREATE | ZIP_TRUNCATE, &error);
|
zip* z = zip_open(StdStringToUtf8(fileName).c_str(), ZIP_CREATE | ZIP_TRUNCATE, &error);
|
||||||
if (NULL == z)
|
if (NULL == z)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "ManagerV1::ExportZipFile Create File Fail %s", fileName.c_str());
|
ErrorLog(g_hLog, "ManagerV1::ExportZipFile Create File Fail %s", fileName.c_str());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1447,7 +1449,7 @@ namespace ver_1
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "ManagerV1::SaveFileNameList Create File Fail %s", cfgName.c_str());
|
ErrorLog(g_hLog, "ManagerV1::SaveFileNameList Create File Fail %s", cfgName.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -1592,7 +1594,7 @@ namespace ver_1
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "ManagerV1::SaveBase64 Create File Fail %s", fileName.c_str());
|
ErrorLog(g_hLog, "ManagerV1::SaveBase64 Create File Fail %s", fileName.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -1727,7 +1729,7 @@ namespace ver_1
|
||||||
case SANE_EVENT_DEVICE_ARRIVED:
|
case SANE_EVENT_DEVICE_ARRIVED:
|
||||||
{
|
{
|
||||||
SANE_Device* sane_dev = (SANE_Device*)data;
|
SANE_Device* sane_dev = (SANE_Device*)data;
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "device arrive, name=%s", Utf8ToStdString(sane_dev->name).c_str());
|
InfoLog(g_hLog, "device arrive, name=%s", Utf8ToStdString(sane_dev->name).c_str());
|
||||||
|
|
||||||
OpenDevParam* openDevParam = new OpenDevParam;
|
OpenDevParam* openDevParam = new OpenDevParam;
|
||||||
openDevParam->mgr = p;
|
openDevParam->mgr = p;
|
||||||
|
@ -1753,7 +1755,7 @@ namespace ver_1
|
||||||
case SANE_EVENT_DEVICE_LEFT:
|
case SANE_EVENT_DEVICE_LEFT:
|
||||||
{
|
{
|
||||||
SANE_Device* sane_dev = (SANE_Device*)data;
|
SANE_Device* sane_dev = (SANE_Device*)data;
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "device remove, name=%s", Utf8ToStdString(sane_dev->name).c_str());
|
InfoLog(g_hLog, "device remove, name=%s", Utf8ToStdString(sane_dev->name).c_str());
|
||||||
|
|
||||||
CloseDevParam* closeDevParam = new CloseDevParam;
|
CloseDevParam* closeDevParam = new CloseDevParam;
|
||||||
closeDevParam->mgr = p;
|
closeDevParam->mgr = p;
|
||||||
|
@ -1778,7 +1780,7 @@ namespace ver_1
|
||||||
break;
|
break;
|
||||||
case SANE_EVENT_STATUS:
|
case SANE_EVENT_STATUS:
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_STATUS, msg=%s", Utf8ToStdString((char*)data).c_str());
|
InfoLog(g_hLog, "SANE_EVENT_STATUS, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||||
|
|
||||||
HGBase_EnterLock(p->m_lock);
|
HGBase_EnterLock(p->m_lock);
|
||||||
std::list<class SockIoUser *>::iterator iter;
|
std::list<class SockIoUser *>::iterator iter;
|
||||||
|
@ -1791,7 +1793,7 @@ namespace ver_1
|
||||||
break;
|
break;
|
||||||
case SANE_EVENT_ERROR:
|
case SANE_EVENT_ERROR:
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_ERROR, msg=%s", Utf8ToStdString((char*)data).c_str());
|
InfoLog(g_hLog, "SANE_EVENT_ERROR, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||||
|
|
||||||
HGBase_EnterLock(p->m_lock);
|
HGBase_EnterLock(p->m_lock);
|
||||||
std::list<class SockIoUser *>::iterator iter;
|
std::list<class SockIoUser *>::iterator iter;
|
||||||
|
@ -1804,7 +1806,7 @@ namespace ver_1
|
||||||
break;
|
break;
|
||||||
case SANE_EVENT_WORKING:
|
case SANE_EVENT_WORKING:
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_WORKING, msg=%s", Utf8ToStdString((char*)data).c_str());
|
InfoLog(g_hLog, "SANE_EVENT_WORKING, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||||
|
|
||||||
HGBase_EnterLock(p->m_lock);
|
HGBase_EnterLock(p->m_lock);
|
||||||
std::list<class SockIoUser *>::iterator iter;
|
std::list<class SockIoUser *>::iterator iter;
|
||||||
|
@ -1817,7 +1819,7 @@ namespace ver_1
|
||||||
break;
|
break;
|
||||||
case SANE_EVENT_IMAGE_OK:
|
case SANE_EVENT_IMAGE_OK:
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_IMAGE_OK");
|
InfoLog(g_hLog, "SANE_EVENT_IMAGE_OK");
|
||||||
|
|
||||||
SANE_Image* sane_img = (SANE_Image*)data;
|
SANE_Image* sane_img = (SANE_Image*)data;
|
||||||
|
|
||||||
|
@ -1910,7 +1912,7 @@ namespace ver_1
|
||||||
break;
|
break;
|
||||||
case SANE_EVENT_SCAN_FINISHED:
|
case SANE_EVENT_SCAN_FINISHED:
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_SCAN_FINISHED, msg=%s", Utf8ToStdString((char*)data).c_str());
|
InfoLog(g_hLog, "SANE_EVENT_SCAN_FINISHED, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||||
|
|
||||||
HGBase_SetEvent(p->m_scanEvent);
|
HGBase_SetEvent(p->m_scanEvent);
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
#include "base/HGBase64.h"
|
#include "base/HGBase64.h"
|
||||||
#include "base/HGUtility.h"
|
#include "base/HGUtility.h"
|
||||||
#include "base/HGIni.h"
|
#include "base/HGIni.h"
|
||||||
#include "base/HGInfo.h"
|
|
||||||
#include "base/HGTime.h"
|
#include "base/HGTime.h"
|
||||||
#include "imgfmt/HGJpeg.h"
|
#include "imgfmt/HGJpeg.h"
|
||||||
#include "imgfmt/HGOfd.h"
|
#include "imgfmt/HGOfd.h"
|
||||||
|
@ -14,7 +13,10 @@
|
||||||
#include "imgfmt/HGImgFmt.h"
|
#include "imgfmt/HGImgFmt.h"
|
||||||
#include "imgproc/HGOCR.h"
|
#include "imgproc/HGOCR.h"
|
||||||
#include "imgproc/HGImgProc.h"
|
#include "imgproc/HGImgProc.h"
|
||||||
|
#include "log/log.h"
|
||||||
#include "HGString.h"
|
#include "HGString.h"
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
#include "zip.h"
|
#include "zip.h"
|
||||||
|
@ -96,7 +98,7 @@ namespace ver_2
|
||||||
SQLITE_OPEN_NOMUTEX | SQLITE_OPEN_SHAREDCACHE, NULL);
|
SQLITE_OPEN_NOMUTEX | SQLITE_OPEN_SHAREDCACHE, NULL);
|
||||||
if (NULL != m_sqlite)
|
if (NULL != m_sqlite)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "open database success");
|
InfoLog(g_hLog, "open database success");
|
||||||
|
|
||||||
// 删除旧配置表
|
// 删除旧配置表
|
||||||
sqlite3_exec(m_sqlite, "delete from device_params", NULL, NULL, NULL);
|
sqlite3_exec(m_sqlite, "delete from device_params", NULL, NULL, NULL);
|
||||||
|
@ -151,7 +153,7 @@ namespace ver_2
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "open database failed");
|
ErrorLog(g_hLog, "open database failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
m_bindFolder.clear();
|
m_bindFolder.clear();
|
||||||
|
@ -785,7 +787,7 @@ namespace ver_2
|
||||||
zip* z = zip_open(StdStringToUtf8(outZipPath2).c_str(), ZIP_CREATE | ZIP_TRUNCATE, &error);
|
zip* z = zip_open(StdStringToUtf8(outZipPath2).c_str(), ZIP_CREATE | ZIP_TRUNCATE, &error);
|
||||||
if (NULL == z)
|
if (NULL == z)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "ManagerV1::ExportZipFile Create File Fail %s", outZipPath2.c_str());
|
ErrorLog(g_hLog, "ManagerV1::ExportZipFile Create File Fail %s", outZipPath2.c_str());
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3094,7 +3096,7 @@ namespace ver_2
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "ManagerV2::SaveBase64 Create File Fail %s", fileName.c_str());
|
ErrorLog(g_hLog, "ManagerV2::SaveBase64 Create File Fail %s", fileName.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (0 != ret)
|
if (0 != ret)
|
||||||
|
@ -3194,7 +3196,7 @@ namespace ver_2
|
||||||
|
|
||||||
static int xferinfo(void* p, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow)
|
static int xferinfo(void* p, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "ulnow=%lld, ultotal=%lld", ulnow, ultotal);
|
InfoLog(g_hLog, "ulnow=%lld, ultotal=%lld", ulnow, ultotal);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3689,7 +3691,7 @@ namespace ver_2
|
||||||
while (' ' == *title)
|
while (' ' == *title)
|
||||||
++title;
|
++title;
|
||||||
|
|
||||||
//HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "device config, title=%s", Utf8ToStdString(title).c_str());
|
//InfoLog(g_hLog, "device config, title=%s", Utf8ToStdString(title).c_str());
|
||||||
|
|
||||||
if (SANE_TYPE_GROUP == desp->type)
|
if (SANE_TYPE_GROUP == desp->type)
|
||||||
{
|
{
|
||||||
|
@ -4072,7 +4074,7 @@ namespace ver_2
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "ManagerV2::SaveToFile Create File Fail %s", filePath.c_str());
|
ErrorLog(g_hLog, "ManagerV2::SaveToFile Create File Fail %s", filePath.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ret)
|
if (!ret)
|
||||||
|
@ -4397,7 +4399,7 @@ namespace ver_2
|
||||||
case SANE_EVENT_DEVICE_ARRIVED:
|
case SANE_EVENT_DEVICE_ARRIVED:
|
||||||
{
|
{
|
||||||
SANE_Device* sane_dev = (SANE_Device*)data;
|
SANE_Device* sane_dev = (SANE_Device*)data;
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_DEVICE_ARRIVED, name=%s", Utf8ToStdString(sane_dev->name).c_str());
|
InfoLog(g_hLog, "SANE_EVENT_DEVICE_ARRIVED, name=%s", Utf8ToStdString(sane_dev->name).c_str());
|
||||||
|
|
||||||
HGBase_EnterLock(p->m_lock);
|
HGBase_EnterLock(p->m_lock);
|
||||||
std::list<class WSUser *>::iterator iter;
|
std::list<class WSUser *>::iterator iter;
|
||||||
|
@ -4411,7 +4413,7 @@ namespace ver_2
|
||||||
case SANE_EVENT_DEVICE_LEFT:
|
case SANE_EVENT_DEVICE_LEFT:
|
||||||
{
|
{
|
||||||
SANE_Device* sane_dev = (SANE_Device*)data;
|
SANE_Device* sane_dev = (SANE_Device*)data;
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_DEVICE_LEFT, name=%s", Utf8ToStdString(sane_dev->name).c_str());
|
InfoLog(g_hLog, "SANE_EVENT_DEVICE_LEFT, name=%s", Utf8ToStdString(sane_dev->name).c_str());
|
||||||
|
|
||||||
CloseDevParam* closeDevParam = new CloseDevParam;
|
CloseDevParam* closeDevParam = new CloseDevParam;
|
||||||
closeDevParam->mgr = p;
|
closeDevParam->mgr = p;
|
||||||
|
@ -4436,7 +4438,7 @@ namespace ver_2
|
||||||
break;
|
break;
|
||||||
case SANE_EVENT_WORKING:
|
case SANE_EVENT_WORKING:
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_WORKING, msg=%s", Utf8ToStdString((char*)data).c_str());
|
InfoLog(g_hLog, "SANE_EVENT_WORKING, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||||
|
|
||||||
HGBase_EnterLock(p->m_lock);
|
HGBase_EnterLock(p->m_lock);
|
||||||
if (NULL != p->m_scanUser)
|
if (NULL != p->m_scanUser)
|
||||||
|
@ -4448,7 +4450,7 @@ namespace ver_2
|
||||||
break;
|
break;
|
||||||
case SANE_EVENT_SCAN_FINISHED:
|
case SANE_EVENT_SCAN_FINISHED:
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_SCAN_FINISHED, msg=%s", Utf8ToStdString((char*)data).c_str());
|
InfoLog(g_hLog, "SANE_EVENT_SCAN_FINISHED, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||||
|
|
||||||
HGBase_SetEvent(p->m_scanEvent);
|
HGBase_SetEvent(p->m_scanEvent);
|
||||||
|
|
||||||
|
@ -4473,7 +4475,7 @@ namespace ver_2
|
||||||
break;
|
break;
|
||||||
case SANE_EVENT_STATUS:
|
case SANE_EVENT_STATUS:
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_STATUS, msg=%s", Utf8ToStdString((char*)data).c_str());
|
InfoLog(g_hLog, "SANE_EVENT_STATUS, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||||
|
|
||||||
HGBase_EnterLock(p->m_lock);
|
HGBase_EnterLock(p->m_lock);
|
||||||
if (NULL != p->m_scanUser)
|
if (NULL != p->m_scanUser)
|
||||||
|
@ -4485,7 +4487,7 @@ namespace ver_2
|
||||||
break;
|
break;
|
||||||
case SANE_EVENT_ERROR:
|
case SANE_EVENT_ERROR:
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_ERROR, msg=%s", Utf8ToStdString((char*)data).c_str());
|
InfoLog(g_hLog, "SANE_EVENT_ERROR, msg=%s", Utf8ToStdString((char*)data).c_str());
|
||||||
|
|
||||||
HGBase_EnterLock(p->m_lock);
|
HGBase_EnterLock(p->m_lock);
|
||||||
if (NULL != p->m_scanUser)
|
if (NULL != p->m_scanUser)
|
||||||
|
@ -4497,7 +4499,7 @@ namespace ver_2
|
||||||
break;
|
break;
|
||||||
case SANE_EVENT_IMAGE_OK:
|
case SANE_EVENT_IMAGE_OK:
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SANE_EVENT_IMAGE_OK");
|
InfoLog(g_hLog, "SANE_EVENT_IMAGE_OK");
|
||||||
|
|
||||||
SANE_Image* sane_img = (SANE_Image*)data;
|
SANE_Image* sane_img = (SANE_Image*)data;
|
||||||
|
|
||||||
|
@ -4593,7 +4595,7 @@ namespace ver_2
|
||||||
HGResult ret = HGBase_WaitEventTimeout(p->m_event, timeout);
|
HGResult ret = HGBase_WaitEventTimeout(p->m_event, timeout);
|
||||||
if (HGBASE_ERR_TIMEOUT == ret)
|
if (HGBASE_ERR_TIMEOUT == ret)
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "timeout, deinit device");
|
InfoLog(g_hLog, "timeout, deinit device");
|
||||||
|
|
||||||
DeinitDevParam* deinitDevParam = new DeinitDevParam;
|
DeinitDevParam* deinitDevParam = new DeinitDevParam;
|
||||||
deinitDevParam->mgr = p;
|
deinitDevParam->mgr = p;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
#include "SockIoServer.h"
|
#include "SockIoServer.h"
|
||||||
#include "SockIoUser.h"
|
#include "SockIoUser.h"
|
||||||
#include "base/HGInfo.h"
|
|
||||||
|
|
||||||
namespace ver_1
|
namespace ver_1
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
#include "SockIoUser.h"
|
#include "SockIoUser.h"
|
||||||
#include "SockIoServer.h"
|
#include "SockIoServer.h"
|
||||||
#include "ManagerV1.h"
|
#include "ManagerV1.h"
|
||||||
#include "base/HGInfo.h"
|
#include "log/log.h"
|
||||||
#include "base/HGUtility.h"
|
#include "base/HGUtility.h"
|
||||||
#include "cJSON.h"
|
#include "cJSON.h"
|
||||||
#include "sha1.h"
|
#include "sha1.h"
|
||||||
#include "base64.h"
|
#include "base64.h"
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
namespace ver_1
|
namespace ver_1
|
||||||
{
|
{
|
||||||
#if defined(HG_CMP_MSC)
|
#if defined(HG_CMP_MSC)
|
||||||
|
@ -127,7 +129,7 @@ namespace ver_1
|
||||||
|
|
||||||
void SockIoUser::ThreadFunc()
|
void SockIoUser::ThreadFunc()
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SockIoUser::ThreadFunc");
|
InfoLog(g_hLog, "SockIoUser::ThreadFunc");
|
||||||
|
|
||||||
char chBuffer[2048];
|
char chBuffer[2048];
|
||||||
const char* pBuffer = chBuffer;
|
const char* pBuffer = chBuffer;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
#include "WSServer.h"
|
#include "WSServer.h"
|
||||||
#include "WSUser.h"
|
#include "WSUser.h"
|
||||||
#include "base/HGInfo.h"
|
|
||||||
|
|
||||||
namespace ver_2
|
namespace ver_2
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
#include "WSUser.h"
|
#include "WSUser.h"
|
||||||
#include "WSServer.h"
|
#include "WSServer.h"
|
||||||
#include "ManagerV2.h"
|
#include "ManagerV2.h"
|
||||||
#include "base/HGInfo.h"
|
#include "log/log.h"
|
||||||
#include "base/HGUtility.h"
|
#include "base/HGUtility.h"
|
||||||
#include "sha1.h"
|
#include "sha1.h"
|
||||||
#include "base64.h"
|
#include "base64.h"
|
||||||
#include "HGString.h"
|
#include "HGString.h"
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
namespace ver_2
|
namespace ver_2
|
||||||
{
|
{
|
||||||
static int GetJsonIntValue(cJSON* json, const std::string& key, bool *find = NULL)
|
static int GetJsonIntValue(cJSON* json, const std::string& key, bool *find = NULL)
|
||||||
|
@ -496,7 +498,7 @@ namespace ver_2
|
||||||
|
|
||||||
void WSUser::ThreadFunc()
|
void WSUser::ThreadFunc()
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "WSUser::ThreadFunc");
|
InfoLog(g_hLog, "WSUser::ThreadFunc");
|
||||||
|
|
||||||
char chBuffer[2048];
|
char chBuffer[2048];
|
||||||
const char* pBuffer = chBuffer;
|
const char* pBuffer = chBuffer;
|
||||||
|
@ -967,7 +969,7 @@ namespace ver_2
|
||||||
HttpHead::AnalysisHead(head, requestMethod, requestURIPath, requestURIQueryInfos,
|
HttpHead::AnalysisHead(head, requestMethod, requestURIPath, requestURIQueryInfos,
|
||||||
requestURIFragment, httpVersion, headInfos);
|
requestURIFragment, httpVersion, headInfos);
|
||||||
|
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, head.c_str());
|
InfoLog(g_hLog, head.c_str());
|
||||||
|
|
||||||
//if (std::string::npos == HttpHead::GetValue(headInfos, "Connection").find("Upgrade"))
|
//if (std::string::npos == HttpHead::GetValue(headInfos, "Connection").find("Upgrade"))
|
||||||
// return false;
|
// return false;
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#include "WebServer.h"
|
#include "WebServer.h"
|
||||||
#include "WebUser.h"
|
#include "WebUser.h"
|
||||||
#include "base/HGInfo.h"
|
#include "log/log.h"
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
WebServer::WebServer(HGMsgPump msgPump)
|
WebServer::WebServer(HGMsgPump msgPump)
|
||||||
{
|
{
|
||||||
|
@ -44,7 +46,7 @@ bool WebServer::Open(HGUShort port)
|
||||||
if (-1 == sockServer)
|
if (-1 == sockServer)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "open webserver failed 1, port=%u", port);
|
ErrorLog(g_hLog, "open webserver failed 1, port=%u", port);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,7 +70,7 @@ bool WebServer::Open(HGUShort port)
|
||||||
#else
|
#else
|
||||||
close(sockServer);
|
close(sockServer);
|
||||||
#endif
|
#endif
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "open webserver failed 2, port=%u", port);
|
ErrorLog(g_hLog, "open webserver failed 2, port=%u", port);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,14 +82,14 @@ bool WebServer::Open(HGUShort port)
|
||||||
#else
|
#else
|
||||||
close(sockServer);
|
close(sockServer);
|
||||||
#endif
|
#endif
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "open webserver failed 3, port=%u", port);
|
ErrorLog(g_hLog, "open webserver failed 3, port=%u", port);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_sockServer = sockServer;
|
m_sockServer = sockServer;
|
||||||
HGBase_OpenThread(ThreadFunc, this, &m_listenThread);
|
HGBase_OpenThread(ThreadFunc, this, &m_listenThread);
|
||||||
assert(NULL != m_listenThread);
|
assert(NULL != m_listenThread);
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "open webserver success, port=%u", port);
|
InfoLog(g_hLog, "open webserver success, port=%u", port);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#include "WebUser.h"
|
#include "WebUser.h"
|
||||||
#include "WebServer.h"
|
#include "WebServer.h"
|
||||||
#include "base/HGInfo.h"
|
#include "log/log.h"
|
||||||
|
|
||||||
|
extern HLOG g_hLog;
|
||||||
|
|
||||||
#if defined(HG_CMP_MSC)
|
#if defined(HG_CMP_MSC)
|
||||||
WebUser::WebUser(WebServer* server, HGUInt id, const std::string& ip, uint16_t port, SOCKET sockConn)
|
WebUser::WebUser(WebServer* server, HGUInt id, const std::string& ip, uint16_t port, SOCKET sockConn)
|
||||||
|
@ -65,7 +67,7 @@ void WebUser::PostDisConnectMsg()
|
||||||
|
|
||||||
void WebUser::ThreadFunc()
|
void WebUser::ThreadFunc()
|
||||||
{
|
{
|
||||||
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "WebUser::ThreadFunc");
|
InfoLog(g_hLog, "WebUser::ThreadFunc");
|
||||||
}
|
}
|
||||||
|
|
||||||
void HGAPI WebUser::ThreadFunc(HGThread thread, HGPointer param)
|
void HGAPI WebUser::ThreadFunc(HGThread thread, HGPointer param)
|
||||||
|
|
|
@ -12,10 +12,30 @@
|
||||||
#include "WSServer.h"
|
#include "WSServer.h"
|
||||||
#include "MsgPumpCallback.h"
|
#include "MsgPumpCallback.h"
|
||||||
#include "curl/curl.h"
|
#include "curl/curl.h"
|
||||||
|
#include "log/log.h"
|
||||||
|
|
||||||
|
HLOG g_hLog = nullptr;
|
||||||
//HGMsgPump msgPumpV1 = NULL;
|
//HGMsgPump msgPumpV1 = NULL;
|
||||||
HGMsgPump msgPumpV2 = NULL;
|
HGMsgPump msgPumpV2 = NULL;
|
||||||
|
|
||||||
|
#if defined(OEM_HANWANG)
|
||||||
|
const char* oem = "HanvonScan";
|
||||||
|
#elif defined(OEM_LISICHENG)
|
||||||
|
const char* oem = "LanxumScan";
|
||||||
|
#elif defined(OEM_CANGTIAN)
|
||||||
|
const char* oem = "CumtennScan";
|
||||||
|
#elif defined(OEM_ZHONGJING)
|
||||||
|
const char* oem = "MicrotekScan";
|
||||||
|
#elif defined(OEM_ZIGUANG)
|
||||||
|
const char* oem = "UniScan";
|
||||||
|
#elif defined(OEM_NEUTRAL)
|
||||||
|
const char* oem = "NeuScan";
|
||||||
|
#elif defined(OEM_DELI)
|
||||||
|
const char* oem = "DeliScan";
|
||||||
|
#else
|
||||||
|
const char* oem = "HuaGoScan";
|
||||||
|
#endif
|
||||||
|
|
||||||
static void HGAPI CrashFunc(HGPointer crashAddr, HGPointer param)
|
static void HGAPI CrashFunc(HGPointer crashAddr, HGPointer param)
|
||||||
{
|
{
|
||||||
HGChar logPath[256];
|
HGChar logPath[256];
|
||||||
|
@ -168,6 +188,7 @@ void WINAPI ServiceMain(DWORD dwNumServicesArgs, LPTSTR* lpServiceArgVectors)
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
HGBase_RegisterCrashFunc(CrashFunc, NULL);
|
HGBase_RegisterCrashFunc(CrashFunc, NULL);
|
||||||
|
g_hLog = EnableLog(NULL, oem, "app");
|
||||||
|
|
||||||
TCHAR serviceName[128];
|
TCHAR serviceName[128];
|
||||||
lstrcpy(serviceName, SERVICE_NAME);
|
lstrcpy(serviceName, SERVICE_NAME);
|
||||||
|
@ -179,6 +200,9 @@ int main()
|
||||||
tableEntry[1].lpServiceProc = NULL;
|
tableEntry[1].lpServiceProc = NULL;
|
||||||
|
|
||||||
StartServiceCtrlDispatcher(tableEntry);
|
StartServiceCtrlDispatcher(tableEntry);
|
||||||
|
|
||||||
|
DisableLog(g_hLog);
|
||||||
|
g_hLog = nullptr;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -191,6 +215,8 @@ int main()
|
||||||
assert(0 == ret);
|
assert(0 == ret);
|
||||||
curl_global_init(CURL_GLOBAL_ALL);
|
curl_global_init(CURL_GLOBAL_ALL);
|
||||||
|
|
||||||
|
g_hLog = EnableLog(NULL, oem, "app");
|
||||||
|
|
||||||
//HGBase_CreateMsgPump(&msgPumpV1);
|
//HGBase_CreateMsgPump(&msgPumpV1);
|
||||||
//HGThread threadV1 = NULL;
|
//HGThread threadV1 = NULL;
|
||||||
//HGBase_OpenThread(ThreadFuncV1, msgPumpV1, &threadV1);
|
//HGBase_OpenThread(ThreadFuncV1, msgPumpV1, &threadV1);
|
||||||
|
@ -211,6 +237,9 @@ int main()
|
||||||
curl_global_cleanup();
|
curl_global_cleanup();
|
||||||
WSACleanup();
|
WSACleanup();
|
||||||
|
|
||||||
|
DisableLog(g_hLog);
|
||||||
|
g_hLog = nullptr;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -223,6 +252,8 @@ int main()
|
||||||
HGBase_RegisterCrashFunc(CrashFunc, NULL);
|
HGBase_RegisterCrashFunc(CrashFunc, NULL);
|
||||||
curl_global_init(CURL_GLOBAL_ALL);
|
curl_global_init(CURL_GLOBAL_ALL);
|
||||||
|
|
||||||
|
g_hLog = EnableLog(NULL, oem, "app");
|
||||||
|
|
||||||
//HGBase_CreateMsgPump(&msgPumpV1);
|
//HGBase_CreateMsgPump(&msgPumpV1);
|
||||||
//HGThread threadV1 = NULL;
|
//HGThread threadV1 = NULL;
|
||||||
//HGBase_OpenThread(ThreadFuncV1, msgPumpV1, &threadV1);
|
//HGBase_OpenThread(ThreadFuncV1, msgPumpV1, &threadV1);
|
||||||
|
@ -241,6 +272,10 @@ int main()
|
||||||
//msgPumpV1 = NULL;
|
//msgPumpV1 = NULL;
|
||||||
|
|
||||||
curl_global_cleanup();
|
curl_global_cleanup();
|
||||||
|
|
||||||
|
DisableLog(g_hLog);
|
||||||
|
g_hLog = nullptr;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue