app、web全部增加日志工程

This commit is contained in:
yangjiaxuan 2024-08-01 13:46:17 +08:00
parent 746dc6a7d1
commit 572a0ce409
62 changed files with 564 additions and 723 deletions

View File

@ -1,11 +1,13 @@
#include "dialog_updateprogress.h"
#include "ui_dialog_updateprogress.h"
#include "base/HGInfo.h"
#include "log/log.h"
#include <QMessageBox>
#include <QFile>
#include <QDir>
#include <QCryptographicHash>
extern HLOG g_hLog;
Dialog_updateProgress::Dialog_updateProgress(HGVersionMgr versionMgr, const QString &url,
const QString &savePath, QWidget *parent) :
QDialog(parent)
@ -60,8 +62,7 @@ void HGAPI Dialog_updateProgress::ThreadFunc(HGThread thread, HGPointer param)
if (HGBASE_ERR_OK != ret)
{
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();

View File

@ -18,12 +18,8 @@
#include <pwd.h>
#endif
HGResult GetConfigPath(HGChar* configPath, HGUInt maxLen)
{
if (NULL == configPath || 0 == maxLen)
{
return HGBASE_ERR_INVALIDARG;
}
#include "log/log.h"
HLOG g_hLog = nullptr;
const char *appName = "HuaGoScan";
#if defined(OEM_HANWANG)
@ -42,6 +38,13 @@ HGResult GetConfigPath(HGChar* configPath, HGUInt maxLen)
appName = "NeuScan";
#endif
HGResult GetConfigPath(HGChar* configPath, HGUInt maxLen)
{
if (NULL == configPath || 0 == maxLen)
{
return HGBASE_ERR_INVALIDARG;
}
#if defined(HG_CMP_MSC)
CHAR cfgPath[MAX_PATH] = { 0 };
BOOL ret = SHGetSpecialFolderPathA(NULL, cfgPath, CSIDL_APPDATA, FALSE);
@ -104,6 +107,8 @@ int main(int argc, char *argv[])
{
QApplication a(argc, argv);
g_hLog = EnableLog(NULL, appName, "app");
HGChar cfgPath[256]= {0};
GetConfigPath(cfgPath, 256);
strcat(cfgPath, "config.ini");
@ -152,5 +157,8 @@ int main(int argc, char *argv[])
a.exec();
}
DisableLog(g_hLog);
g_hLog = nullptr;
return 0;
}

View File

@ -1,7 +1,6 @@
#include "dialog_exportimagefile.h"
#include "ui_dialog_exportimagefile.h"
#include "mainwindow.h"
#include "base/HGInfo.h"
#include "base/HGUtility.h"
#include "imgfmt/HGImgFmt.h"
#include "imgfmt/HGGif.h"

View File

@ -1,7 +1,6 @@
#include "dialog_logmanager.h"
#include "ui_dialog_logmanager.h"
#include "base/HGUtility.h"
#include "base/HGInfo.h"
#include <QDir>
#include <QFile>
#include <QFileInfo>
@ -83,13 +82,11 @@ void Dialog_LogManager::on_btn_clear_clicked()
QFileInfoList log_list;
log_list = dir.entryInfoList(filter, QDir::Files);
HGBase_DisableInfo();
foreach(QFileInfo info, log_list)
{
QFile file(info.absoluteFilePath());
file.remove();
}
HGBase_EnableInfo();
//清空列表显示
ui->listWidget->clear();

View File

@ -1,11 +1,13 @@
#include "dialog_updateprogress.h"
#include "ui_dialog_updateprogress.h"
#include "base/HGInfo.h"
#include <QMessageBox>
#include <QFile>
#include <QDir>
#include <QCryptographicHash>
#include "log/log.h"
extern HLOG g_hLog;
Dialog_updateProgress::Dialog_updateProgress(VersionDll *dll, const QString &url,
const QString &savePath, QWidget *parent) :
QDialog(parent)
@ -61,7 +63,7 @@ void HGAPI Dialog_updateProgress::ThreadFunc(HGThread thread, HGPointer param)
{
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();

View File

@ -5,11 +5,32 @@
#include <QScreen>
#include "app_cfg.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[])
{
QApplication a(argc, argv);
g_hLog = EnableLog(NULL, oem, "app");
lang_initialize(nullptr);
QString appLang = getCfgValue("global", "language", QString("chinese"));
@ -68,5 +89,10 @@ int main(int argc, char *argv[])
QScreen *screen = QGuiApplication::primaryScreen();
w.move((screen->size().width() - w.width()) / 2, (screen->size().height() - w.height()) / 2);
w.show();
return a.exec();
int ret = a.exec();
DisableLog(g_hLog);
g_hLog = nullptr;
return ret;
}

View File

@ -33,7 +33,6 @@
#include "dialog_savemessagebox.h"
#include "dialog_waitingocr.h"
#include "dialog_abnormalimage.h"
#include "base/HGInfo.h"
#include "huagao/hgscanner_error.h"
#include "base/HGTime.h"
#include "imgfmt/HGPdf.h"
@ -3441,12 +3440,12 @@ static int getDays(int year, int month)
static int getPatchVersion()
{
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");
int year = date.year();
int day = date.day();
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;
ret *= 1000;
@ -4044,7 +4043,7 @@ bool MainWindow::judgeDiskSpace(QString currentPath)
available_size = storage.bytesAvailable()/1024/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::Yes | QMessageBox::No, this);
msg.exec();
@ -4817,7 +4816,7 @@ void MainWindow::on_actionact_update_triggered()
HGResult ret = m_versionDll->GetVersionList(HGVERSION_APPNAME_SCANNER, m_oemName, &versionInfo, &versionCount);
if (ret != HGBASE_ERR_OK)
{
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "GetVersionList:%u", ret);
ErrorLog(g_hLog, "GetVersionList:%u", ret);
}
if(versionCount > 0)
{

View File

@ -17,6 +17,9 @@
#include "VersionDll.h"
#include "device_user.h"
#include "log/log.h"
extern HLOG g_hLog;
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

View File

@ -2,7 +2,6 @@
#include "ui_mainwindow.h"
#include "base/HGDef.h"
#include "base/HGInc.h"
#include "base/HGInfo.h"
#include <QLabel>
#include <QMovie>
#include <QMessageBox>

View File

@ -31,11 +31,6 @@ HGBase_LeaveLock
HGBase_OpenThread
HGBase_CloseThread
HGBase_OpenLog
HGBase_CloseLog
HGBase_GetLogFileSize
HGBase_WriteLog
HGBase_OpenNamedPipeServer
HGBase_CloseNamedPipeServer
HGBase_NamedPipeServerWrite
@ -47,14 +42,6 @@ HGBase_NamedPipeClientWrite
HGBase_NamedPipeClientRead
HGBase_NamedPipeClientStop
HGBase_OpenConsole
HGBase_CloseConsole
HGBase_WriteConsole
HGBase_EnableInfo
HGBase_DisableInfo
HGBase_WriteInfo
HGBase_GetLocalTime
HGBase_GetTickCount
HGBase_GetIntervalSeconds

View File

@ -52,6 +52,7 @@ win32 {
DEF_FILE = HGBase.def
LIBS += -lgdi32 -lgdiplus -ldbghelp
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lcommonlog
}
unix {
@ -94,8 +95,11 @@ unix {
LIBS += -lpthread -ldl
INCLUDEPATH += $$PWD/../../../third_party/libuuid/$${MY_OS}/$${MY_ARCH}/include
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}
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}
@ -166,17 +170,13 @@ unix {
SOURCES += \
../../../modules/base/HGBase64.cpp \
../../../modules/base/HGBuffer.cpp \
../../../modules/base/HGConsole.cpp \
../../../modules/base/HGCrash.cpp \
../../../modules/base/HGDes.cpp \
../../../modules/base/HGDll.cpp \
../../../modules/base/HGEvent.cpp \
../../../modules/base/HGImage.cpp \
../../../modules/base/HGInfo.cpp \
../../../modules/base/HGInfoImpl.cpp \
../../../modules/base/HGIni.cpp \
../../../modules/base/HGLock.cpp \
../../../modules/base/HGLog.cpp \
../../../modules/base/HGMd5.cpp \
../../../modules/base/HGMsgPump.cpp \
../../../modules/base/HGMsgPumpImpl.cpp \
@ -191,7 +191,6 @@ HEADERS += \
../../../modules/base/HGBase64.h \
../../../modules/base/HGBaseErr.h \
../../../modules/base/HGBuffer.h \
../../../modules/base/HGConsole.h \
../../../modules/base/HGCrash.h \
../../../modules/base/HGDef.h \
../../../modules/base/HGDes.h \
@ -199,11 +198,8 @@ HEADERS += \
../../../modules/base/HGEvent.h \
../../../modules/base/HGImage.h \
../../../modules/base/HGInc.h \
../../../modules/base/HGInfo.h \
../../../modules/base/HGInfoImpl.hpp \
../../../modules/base/HGIni.h \
../../../modules/base/HGLock.h \
../../../modules/base/HGLog.h \
../../../modules/base/HGMd5.h \
../../../modules/base/HGMsgPump.h \
../../../modules/base/HGMsgPumpImpl.hpp \

View File

@ -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 \
-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} -lcommonlog
# sane.dll
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 \
-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} -lcommonlog
}
INCLUDEPATH += $$PWD/../../../modules

View File

@ -57,6 +57,7 @@ win32 {
DEF_FILE = HGImgFmt.def
LIBS += -lgdi32 -lgdiplus -ldbghelp -lAdvapi32
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/libnsbmp/$${MY_OS}/include
INCLUDEPATH += $$PWD/../../../third_party/libpng/$${MY_OS}/include
@ -118,6 +119,7 @@ unix {
LIBS += -lpthread -ldl
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/libnsbmp/$${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/../../../../sdk/include
DESTDIR = $$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}
UI_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET}

View File

@ -69,6 +69,7 @@ win32 {
DEF_FILE = HGImgProc.def
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/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lcommonlog
INCLUDEPATH += $$PWD/../../../third_party/opencv/$${MY_OS}/include
INCLUDEPATH += $$PWD/../../../third_party/freetype/$${MY_OS}/include
INCLUDEPATH += $$PWD/../../../third_party/ocr/hanvon/$${MY_OS}/include
@ -148,6 +149,7 @@ unix {
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/../../../../release/$${MY_OS}/$${MY_ARCH2} -lcommonlog
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/ocr/hanvon/$${MY_OS}/$${MY_ARCH}/include
@ -161,6 +163,7 @@ unix {
}
INCLUDEPATH += $$PWD/../../../utility
INCLUDEPATH += $$PWD/../../../../sdk/include
DESTDIR = $$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}
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/ImageApplyOutHole.cpp \
../../../modules/imgproc/ImageProcess/ImageProcess_Public.cpp \
../../../modules/imgproc/dllmain.cpp \
../../../utility/HGString.cpp
HEADERS += \

View File

@ -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\
-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} -lcommonlog
# sane.dll
LIBS += -L$$PWD/../../../../release/win/$${MY_ARCH}/OEM/$${OEM_NAME}
@ -141,6 +142,7 @@ unix {
-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} -lcommonlog
}
INCLUDEPATH += $$PWD/../../../app/scanner2

View File

@ -56,6 +56,7 @@ win32 {
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/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lsanexy
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lcommonlog
}
unix {
@ -100,6 +101,7 @@ unix {
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/../../../../release/$${MY_OS}/$${MY_ARCH2} -lsane-$${OEM_PREFIX3}sane
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -lcommonlog
}
INCLUDEPATH += $$PWD/../../../utility
@ -182,6 +184,7 @@ SOURCES += \
../../../sdk/scannerlib/HGLibDeviceImpl.cpp \
../../../sdk/scannerlib/HGScannerLib.cpp \
../../../sdk/scannerlib/HGScannerLibJni.cpp \
../../../sdk/scannerlib/dllmain.cpp \
../../../utility/HGString.cpp
HEADERS += \

View File

@ -58,6 +58,7 @@ win32 {
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/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lyuyanbao
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lcommonlog
}
unix {
@ -105,6 +106,7 @@ unix {
LIBS += -lpthread -ldl
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} -lcommonlog
}
INCLUDEPATH += $$PWD/../../../modules

View File

@ -56,6 +56,7 @@ win32 {
DEF_FILE = HGVersion.def
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/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lcommonlog
INCLUDEPATH += $$PWD/../../../third_party/libcurl/$${MY_OS}/include
}
@ -98,6 +99,7 @@ unix {
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/../../../../release/$${MY_OS}/$${MY_ARCH2} -lcommonlog
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/libzip/$${MY_OS}/$${MY_ARCH}/lib/libzip.a
@ -107,6 +109,7 @@ unix {
INCLUDEPATH += $$PWD/../../../third_party/json
INCLUDEPATH += $$PWD/../../../utility
INCLUDEPATH += $$PWD/../../../../sdk/include
DESTDIR = $$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}
UI_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET}
@ -178,6 +181,7 @@ unix {
SOURCES += \
../../../modules/version/HGVersion.cpp \
../../../modules/version/HGVersionImpl.cpp \
../../../modules/version/dllmain.cpp \
../../../third_party/json/cJSON.c \
../../../utility/HGString.cpp

View File

@ -62,6 +62,7 @@ win32 {
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/../../../../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/libcurl/$${MY_OS}/include
LIBS += $$PWD/../../../third_party/zlib/$${MY_OS}/lib/$${MY_ARCH}/zlib.lib
@ -111,6 +112,7 @@ unix {
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/../../../../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/libcurl/$${MY_OS}/$${MY_ARCH}/include
LIBS += $$PWD/../../../third_party/libzip/$${MY_OS}/$${MY_ARCH}/lib/libzip.a

View File

@ -9,13 +9,10 @@
#include "HGLock.h"
#include "HGEvent.h"
#include "HGDll.h"
#include "HGLog.h"
#include "HGConsole.h"
#include "HGBuffer.h"
#include "HGImage.h"
#include "HGThread.h"
#include "HGUtility.h"
#include "HGInfo.h"
#include "HGIni.h"
#include "HGMsgPump.h"
#include "HGTime.h"

View File

@ -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;
}

View File

@ -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__ */

View File

@ -1,6 +1,9 @@
#include "HGDll.h"
#include "HGInc.h"
#include "HGInfo.h"
#include "log/log.h"
extern HLOG g_hLog;
#if !defined(HG_CMP_MSC)
#include <dlfcn.h>
#endif
@ -43,14 +46,14 @@ HGResult HGAPI HGBase_CreateDll(const HGChar* fileName, HGDll* dll)
void* hDll = dlopen(fileName, RTLD_LAZY);
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;
}
#else
HMODULE hDll = LoadLibraryExA((const char *)fileName, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
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;
}
#endif

View File

@ -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);
}

View File

@ -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__ */

View File

@ -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;
}

View File

@ -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__ */

View File

@ -1,9 +1,11 @@
#include "HGIni.h"
#include "HGInc.h"
#include "HGInfo.h"
#include "log/log.h"
#include <vector>
#include <string>
extern HLOG g_hLog;
typedef std::vector<std::pair<std::string, std::string> > KeyList;
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");
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;
}

View File

@ -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;
}

View File

@ -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__ */

View File

@ -1,7 +1,7 @@
#include "HGUtility.h"
#include "HGInc.h"
#include "HGInfo.h"
#include "HGIni.h"
#include "log/log.h"
#if defined(HG_CMP_MSC)
#include <shlobj.h>
#include <atlstr.h>
@ -10,6 +10,8 @@
#endif
#include <string>
extern HLOG g_hLog;
HGResult HGAPI HGBase_GetTmpPath(HGChar* path, HGUInt maxLen)
{
if (NULL == path || 0 == maxLen)
@ -102,7 +104,7 @@ HGResult HGAPI HGBase_CreateDir(const HGChar* dir)
{
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;
break;
}
@ -117,7 +119,7 @@ HGResult HGAPI HGBase_CreateDir(const HGChar* dir)
{
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;
}
}
@ -129,7 +131,7 @@ HGResult HGAPI HGBase_CreateDir(const HGChar* dir)
int ret = SHCreateDirectoryExA(NULL, dir, NULL);
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;
}
#endif

View File

@ -1,8 +1,26 @@
#include "HGDef.h"
#include "HGInfoImpl.hpp"
#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)
@ -12,7 +30,7 @@ BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReser
{
case DLL_PROCESS_ATTACH:
{
g_infoImpl = new HGInfoImpl;
g_hLog = EnableLog(NULL, oem, "app");
}
break;
case DLL_THREAD_ATTACH:
@ -21,8 +39,8 @@ BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReser
break;
case DLL_PROCESS_DETACH:
{
delete g_infoImpl;
g_infoImpl = NULL;
DisableLog(g_hLog);
g_hLog = nullptr;
}
break;
}
@ -37,13 +55,13 @@ void __attribute__((destructor)) global_unload(void);
void global_load(void)
{
g_infoImpl = new HGInfoImpl;
g_hLog = EnableLog(NULL, oem, "app");
}
void global_unload(void)
{
delete g_infoImpl;
g_infoImpl = NULL;
DisableLog(g_hLog);
g_hLog = nullptr;
}
#endif

View File

@ -1,6 +1,8 @@
#include "HGBmp.h"
#include "../base/HGInc.h"
#include "../base/HGInfo.h"
#include "log/log.h"
extern HLOG g_hLog;
extern "C"
{
#include "libnsbmp.h"
@ -312,7 +314,7 @@ HGResult HGAPI HGImgFmt_SaveBmpImage(HGImage image, const HGBmpSaveInfo* info, c
FILE* file = fopen(fileName, "wb");
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;
}

View File

@ -1,8 +1,10 @@
#include "HGGif.h"
#include "../base/HGInc.h"
#include "../base/HGInfo.h"
#include "log/log.h"
#include "gif_lib.h"
extern HLOG g_hLog;
struct HGGifReaderImpl
{
HGGifReaderImpl()
@ -778,7 +780,7 @@ HGResult HGAPI HGImgFmt_OpenGifWriter(const HGChar* fileName, const HGGifSaveInf
GifFileType* gifFile = EGifOpenFileName(fileName, false, &err);
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;
}

View File

@ -1,6 +1,7 @@
#include "HGJpeg.h"
#include "../base/HGInc.h"
#include "../base/HGInfo.h"
#include "log/log.h"
extern HLOG g_hLog;
extern "C"
{
#include "jpeglib.h"
@ -323,7 +324,7 @@ HGResult HGAPI HGImgFmt_SaveJpegImage(HGImage image, const HGJpegSaveInfo* info,
FILE* file = fopen(fileName, "wb");
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;
}

View File

@ -1,9 +1,11 @@
#include "HGOfdImpl.hpp"
#include "../base/HGInc.h"
#include "../base/HGInfo.h"
#include "../base/HGUtility.h"
#include "log/log.h"
#include "HGString.h"
extern HLOG g_hLog;
#define A4page_page_PhysicalBox_Width 210.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);
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;
}

View File

@ -1,10 +1,11 @@
#include "HGPdfImpl.hpp"
#include "../base/HGInc.h"
#include "../base/HGUtility.h"
#include "../base/HGInfo.h"
#include "log/log.h"
#include "HGString.h"
#include <string>
#include <iostream>
extern HLOG g_hLog;
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)), ""))
#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;
PDF_delete(p);

View File

@ -1,11 +1,13 @@
#include "HGPng.h"
#include "../base/HGInc.h"
#include "../base/HGInfo.h"
#include "log/log.h"
#include "png.h"
#include "pngstruct.h"
#include "pnginfo.h"
#include "pngpriv.h"
extern HLOG g_hLog;
HGResult HGAPI HGImgFmt_CheckPngFile(const HGChar* fileName, HGBool* 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");
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;
}

View File

@ -1,9 +1,11 @@
#include "HGPnm.h"
#include "../base/HGInc.h"
#include "../base/HGInfo.h"
#include "log/log.h"
#include <vector>
#include <string>
extern HLOG g_hLog;
static inline HGByte GetBit(const HGByte* data, HGUInt index)
{
HGUInt byteIndex = index / 8;
@ -504,7 +506,7 @@ static HGResult PnmSaveImage(HGImage image, const HGChar* fileName, HGUInt pnmTy
FILE* file = fopen(fileName, "wb");
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;
}

View File

@ -1,8 +1,10 @@
#include "HGTiff.h"
#include "../base/HGInc.h"
#include "../base/HGInfo.h"
#include "log/log.h"
#include "tiffio.h"
extern HLOG g_hLog;
HGResult HGAPI HGImgFmt_CheckTiffFile(const HGChar* fileName, HGBool* isTiff)
{
if (NULL == fileName || NULL == isTiff)
@ -244,7 +246,7 @@ HGResult HGAPI HGImgFmt_OpenTiffWriter(const HGChar* fileName, HGTiffWriter* wri
TIFF* tif = TIFFOpen(fileName, "w");
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;
}

View File

@ -1,5 +1,24 @@
#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)
@ -7,12 +26,15 @@ BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReser
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;
}
@ -26,12 +48,13 @@ 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

View File

@ -1,10 +1,12 @@
#include "HGOCRHanvon.hpp"
#include "HGOCRRetImpl.hpp"
#include "../base/HGUtility.h"
#include "../base/HGInfo.h"
#include "log/log.h"
#include "../imgfmt/HGBmp.h"
#include "../imgfmt/HGJpeg.h"
extern HLOG g_hLog;
//HGUInt HGOCRHanvon::m_refCount = 0;
//HGOCRHanvon* HGOCRHanvon::m_OCR = NULL;
@ -50,7 +52,7 @@ HGResult HGOCRHanvon::Init()
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);
m_dll = NULL;
return HGIMGPROC_ERR_OCRINIT;
@ -101,7 +103,7 @@ HGResult HGOCRHanvon::ImageOCR(HGImage image, class HGOCRRetImpl **ocrRet)
HGResult ret = HGImgFmt_SaveBmpImage(image, NULL, tmpFileName);
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;
}
@ -111,7 +113,7 @@ HGResult HGOCRHanvon::ImageOCR(HGImage image, class HGOCRRetImpl **ocrRet)
HGBase_DeleteFile(tmpFileName);
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;
}
@ -154,7 +156,7 @@ HGResult HGOCRHanvon::ImageOCRToFile(HGImage image, HGUInt outType, const HGChar
HGResult ret = HGImgFmt_SaveBmpImage(image, NULL, tmpFileName);
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;
}
@ -163,7 +165,7 @@ HGResult HGOCRHanvon::ImageOCRToFile(HGImage image, HGUInt outType, const HGChar
ret = HGBase_CreateDir(tmpDir);
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);
return ret;
}
@ -173,7 +175,7 @@ HGResult HGOCRHanvon::ImageOCRToFile(HGImage image, HGUInt outType, const HGChar
HGBase_DeleteFile(tmpFileName);
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);
return HGIMGPROC_ERR_OCR;
}
@ -193,7 +195,7 @@ HGResult HGOCRHanvon::ImageTextDirectOCR(HGImage image, HGUInt* direct)
HGResult ret = HGImgFmt_SaveBmpImage(image, NULL, tmpFileName);
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;
}
@ -229,7 +231,7 @@ HGResult HGOCRHanvon::AddToImageList(HGImage image)
HGResult ret = HGImgFmt_SaveJpegImage(image, NULL, tmpFileName);
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;
}
@ -300,7 +302,7 @@ HGResult HGOCRHanvon::ImageListOCRToFile(HGUInt outType, const HGChar* outFileNa
#endif
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);
ret = HGIMGPROC_ERR_OCR;
}
@ -309,7 +311,7 @@ HGResult HGOCRHanvon::ImageListOCRToFile(HGUInt outType, const HGChar* outFileNa
}
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;

View File

@ -4,11 +4,13 @@
#include "HGOCRRetImpl.hpp"
#include "../base/HGTime.h"
#include "../base/HGUtility.h"
#include "../base/HGInfo.h"
#include "../imgfmt/HGBmp.h"
#include "../imgfmt/HGJpeg.h"
#include "log/log.h"
#include "HGString.h"
extern HLOG g_hLog;
HGOCRTesseract::HGOCRTesseract()
{
m_baseApi = NULL;
@ -31,7 +33,7 @@ HGResult HGOCRTesseract::Init()
m_baseApi = TessBaseAPICreate();
if (NULL == m_baseApi)
{
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRTesseract::Init: TessBaseAPICreate fail");
ErrorLog(g_hLog, "HGOCRTesseract::Init: TessBaseAPICreate fail");
return HGIMGPROC_ERR_OCRINIT;
}
@ -44,7 +46,7 @@ HGResult HGOCRTesseract::Init()
int rc = TessBaseAPIInit3(m_baseApi, dataPath, "osd");
if (0 != rc)
{
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "HGOCRTesseract::Init: TessBaseAPIInit3 fail");
ErrorLog(g_hLog, "HGOCRTesseract::Init: TessBaseAPIInit3 fail");
TessBaseAPIDelete(m_baseApi);
m_baseApi = NULL;
return HGIMGPROC_ERR_OCRINIT;
@ -132,7 +134,7 @@ HGResult HGOCRTesseract::ImageOCRToFile(HGImage image, HGUInt outType, const HGC
HGResult ret = HGImgFmt_SaveBmpImage(image, NULL, tmpFileName);
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;
}
@ -179,7 +181,7 @@ HGResult HGOCRTesseract::ImageTextDirectOCR(HGImage image, HGUInt* direct)
HGBase_GetTickCount(&tickEnd);
HGDouble seconds = 0.0;
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)
*direct = HGIMGPROC_OCRTEXTDIRECT_ORI;
@ -211,7 +213,7 @@ HGResult HGOCRTesseract::AddToImageList(HGImage image)
HGResult ret = HGImgFmt_OpenTiffWriter(m_tiffFileName.c_str(), &m_tiffWriter);
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();
return ret;
}

View File

@ -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

View File

@ -1,6 +1,5 @@
#include "HGTwainImpl.hpp"
#include "../base/HGInc.h"
#include "../base/HGInfo.h"
#include "../base/HGUtility.h"
#include "app_cfg.h"

View File

@ -4,12 +4,13 @@
#include <qwinwidget.hpp>
#endif
#include "lang/app_language.h"
#include "log/log.h"
#include <locale.h>
#include <QMetaType>
#include "base/HGInfo.h"
Q_DECLARE_METATYPE(HGImage)
extern HLOG g_hLog;
extern Manager* g_manager;
Manager::Manager()
@ -107,7 +108,7 @@ int Manager::showSettingUi(SANE_Handle device, HWND parent, LPSANEAPI api, const
#endif
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
if (nullptr != hStopEvent)
@ -136,7 +137,7 @@ int Manager::showProgressUi(HWND parent, std::function<void (ui_result)> callbac
#endif
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
if (nullptr != hStopEvent)
@ -146,7 +147,7 @@ int Manager::showProgressUi(HWND parent, std::function<void (ui_result)> callbac
}
#endif
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "[Manager::showProgressUi] Exit Message Loop");
InfoLog(g_hLog, "[Manager::showProgressUi] Exit Message Loop");
return 0;
}
@ -462,7 +463,7 @@ void Manager::on_createSettingUi(void *hEvent)
}
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
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->setModal(true);
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
if (nullptr != hEvent)

View File

@ -6,8 +6,10 @@
#include "base/HGMsgPump.h"
#include <QTranslator>
#include "lang/app_language.h"
#include "log/log.h"
#include "Manager.h"
HLOG g_hLog = nullptr;
HGEvent g_event = NULL;
HGThread g_hThread = NULL;
Manager* g_manager = NULL;
@ -18,15 +20,36 @@ Manager* g_manager = 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*/)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
g_hInst = hInstance;
g_hLog = EnableLog(NULL, oem, "app");
}
else if (dwReason == DLL_PROCESS_DETACH)
{
g_hInst = NULL;
DisableLog(g_hLog);
g_hLog = nullptr;
}
return TRUE;
@ -38,12 +61,13 @@ 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

View File

@ -1,8 +1,8 @@
#include "HGVersionImpl.hpp"
#include "../base/HGInc.h"
#include "../base/HGInfo.h"
#include "../base/HGMd5.h"
#include "../base/HGUtility.h"
#include "log/log.h"
#include "HGVersionMsg.hpp"
#include <string>
#include <vector>
@ -12,6 +12,9 @@
#include <algorithm>
#include "cJSON.h"
#include "curl/curl.h"
extern HLOG g_hLog;
#if defined(HG_CMP_MSC)
#include <iphlpapi.h>
#endif
@ -71,11 +74,11 @@ static HGResult GetServerConfig(HGServerConfig& config)
CURLcode res = curl_easy_perform(curl);
/* Check for errors */
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
{
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());
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)
{
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "ulnow=%lld, ultotal=%lld", ulnow, ultotal);
DebugLog(g_hLog, "ulnow=%lld, ultotal=%lld", ulnow, ultotal);
return 0;
}
@ -155,11 +158,11 @@ static HGResult CrashFileUpload(const std::string& crashFilePath, std::string& c
CURLcode res = curl_easy_perform(curl);
/* Check for errors */
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
{
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());
if (NULL != json)
@ -291,7 +294,7 @@ static void GetMacAddrList(std::vector<std::string>& macList)
DIR* dir = opendir("/sys/class/net");
if (NULL != dir)
{
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "GetMacAddrList: opendir success");
DebugLog(g_hLog, "GetMacAddrList: opendir success");
struct dirent* ent;
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)
continue;
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "GetMacAddrList: name %s", ent->d_name);
DebugLog(g_hLog, "GetMacAddrList: name %s", ent->d_name);
char addrPath[256];
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);
}
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "GetMacAddrList: mac %s", mac);
DebugLog(g_hLog, "GetMacAddrList: mac %s", mac);
fclose(file);
}
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
{
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "GetMacAddrList: opendir fail %s", "/sys/class/net");
ErrorLog(g_hLog, "GetMacAddrList: opendir fail %s", "/sys/class/net");
}
#endif
}
@ -593,11 +596,11 @@ static HGResult PostInfo(int type, const std::string& appName, const std::string
CURLcode res = curl_easy_perform(curl);
/* Check for errors */
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
{
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());
if (NULL != json)
@ -700,11 +703,11 @@ static HGResult PostDeviceInfo(const std::string& devName, const std::string& de
CURLcode res = curl_easy_perform(curl);
/* Check for errors */
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
{
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());
if (NULL != json)
@ -798,11 +801,11 @@ static HGResult PostDeviceLockInfo(const std::string& devName, const std::string
CURLcode res = curl_easy_perform(curl);
/* Check for errors */
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
{
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());
if (NULL != json)
@ -903,11 +906,11 @@ static HGResult PostUserInfo(const std::string& appName, const std::string& oemN
CURLcode res = curl_easy_perform(curl);
/* Check for errors */
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
{
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());
if (NULL != json)
@ -967,11 +970,11 @@ static HGResult GetVersionList(const std::string& appName, const std::string& oe
CURLcode res = curl_easy_perform(curl);
/* Check for errors */
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
{
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());
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)
{
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;
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);
/* Check for errors */
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
ret = HGBASE_ERR_OK;
@ -1085,7 +1088,7 @@ static HGResult HttpDownload(const std::string& url, const std::string& saveFile
}
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;
}
@ -1589,11 +1592,11 @@ HGResult HGVersionMgrImpl::BlackListCheck(const HGChar* devSN, HGBool* inList)
CURLcode res = curl_easy_perform(curl);
/* Check for errors */
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
{
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());
if (NULL != json)
@ -1654,11 +1657,11 @@ static HGResult GetDriverVersionList(const std::string& devType, std::list<Versi
CURLcode res = curl_easy_perform(curl);
/* Check for errors */
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
{
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());
if (NULL != json)

View File

@ -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

View File

@ -1,9 +1,11 @@
#include "HGLibDeviceImpl.hpp"
#include "base/HGInc.h"
#include "base/HGInfo.h"
#include "base/HGImage.h"
#include "log/log.h"
#include "HGString.h"
extern HLOG g_hLog;
const char* GROUP_NAME[] = {
NULL,
"grp-1",
@ -1273,7 +1275,7 @@ int HGLibDeviceImpl::sane_ex_callback(SANE_Handle hdev, int code, void* data, un
case SANE_EVENT_DEVICE_ARRIVED:
{
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)
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:
{
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)
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;
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];
if (NULL != deviceImpl->m_eventFunc)
@ -1304,7 +1306,7 @@ int HGLibDeviceImpl::sane_ex_callback(SANE_Handle hdev, int code, void* data, un
break;
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];
if (NULL != deviceImpl->m_eventFunc)
@ -1332,17 +1334,17 @@ int HGLibDeviceImpl::sane_ex_callback(SANE_Handle hdev, int code, void* data, un
break;
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;
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;
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;

View File

@ -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

View File

@ -1,6 +1,5 @@
#include "HttpServer.h"
#include "HttpUser.h"
#include "base/HGInfo.h"
namespace ver_1
{

View File

@ -1,9 +1,11 @@
#include "HttpUser.h"
#include "HttpServer.h"
#include "ManagerV1.h"
#include "base/HGInfo.h"
#include "log/log.h"
#include "cJSON.h"
extern HLOG g_hLog;
namespace ver_1
{
static std::string ToJsonPair(const std::string& key, int value, bool sep)
@ -131,7 +133,7 @@ namespace ver_1
HttpPairs requestURIQueryInfos = param->head.GetRequestURIQueryInfos();
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());
if (requestMethod == "POST" && requestURIPath == "/WebScan/getVersionInfo")
@ -752,7 +754,7 @@ namespace ver_1
void HttpUser::ThreadFunc()
{
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "HttpUser::ThreadFunc");
InfoLog(g_hLog, "HttpUser::ThreadFunc");
char chBuffer[2048];
const char* pBuffer = chBuffer;

View File

@ -3,13 +3,15 @@
#include "base/HGBase64.h"
#include "base/HGUtility.h"
#include "base/HGIni.h"
#include "base/HGInfo.h"
#include "imgfmt/HGJpeg.h"
#include "imgfmt/HGOfd.h"
#include "imgfmt/HGPdf.h"
#include "imgfmt/HGTiff.h"
#include "imgfmt/HGImgFmt.h"
#include "log/log.h"
#include "HGString.h"
extern HLOG g_hLog;
extern "C"
{
#include "zip.h"
@ -355,7 +357,7 @@ namespace ver_1
std::string filePath = GetFilePath(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)
{
@ -401,13 +403,13 @@ namespace ver_1
if (NULL == desp)
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)
{
SANE_Bool value = 0;
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))
m_devParam.splitImage = value ? 1 : 0;
@ -418,7 +420,7 @@ namespace ver_1
{
SANE_Int value = 0;
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))
m_devParam.discardBlankThre = value;
@ -427,13 +429,13 @@ namespace ver_1
}
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)
{
char value[256] = { 0 };
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))
m_devParam.autofeeder = true;
@ -479,11 +481,11 @@ namespace ver_1
}
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)
{
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);
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;
}
@ -1447,7 +1449,7 @@ namespace ver_1
}
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;
@ -1592,7 +1594,7 @@ namespace ver_1
}
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;
@ -1727,7 +1729,7 @@ namespace ver_1
case SANE_EVENT_DEVICE_ARRIVED:
{
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->mgr = p;
@ -1753,7 +1755,7 @@ namespace ver_1
case SANE_EVENT_DEVICE_LEFT:
{
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->mgr = p;
@ -1778,7 +1780,7 @@ namespace ver_1
break;
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);
std::list<class SockIoUser *>::iterator iter;
@ -1791,7 +1793,7 @@ namespace ver_1
break;
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);
std::list<class SockIoUser *>::iterator iter;
@ -1804,7 +1806,7 @@ namespace ver_1
break;
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);
std::list<class SockIoUser *>::iterator iter;
@ -1817,7 +1819,7 @@ namespace ver_1
break;
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;
@ -1910,7 +1912,7 @@ namespace ver_1
break;
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);

View File

@ -5,7 +5,6 @@
#include "base/HGBase64.h"
#include "base/HGUtility.h"
#include "base/HGIni.h"
#include "base/HGInfo.h"
#include "base/HGTime.h"
#include "imgfmt/HGJpeg.h"
#include "imgfmt/HGOfd.h"
@ -14,7 +13,10 @@
#include "imgfmt/HGImgFmt.h"
#include "imgproc/HGOCR.h"
#include "imgproc/HGImgProc.h"
#include "log/log.h"
#include "HGString.h"
extern HLOG g_hLog;
extern "C"
{
#include "zip.h"
@ -96,7 +98,7 @@ namespace ver_2
SQLITE_OPEN_NOMUTEX | SQLITE_OPEN_SHAREDCACHE, NULL);
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);
@ -151,7 +153,7 @@ namespace ver_2
}
else
{
HGBase_WriteInfo(HGBASE_INFOTYPE_ERROR, "open database failed");
ErrorLog(g_hLog, "open database failed");
}
m_bindFolder.clear();
@ -785,7 +787,7 @@ namespace ver_2
zip* z = zip_open(StdStringToUtf8(outZipPath2).c_str(), ZIP_CREATE | ZIP_TRUNCATE, &error);
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;
}
@ -3094,7 +3096,7 @@ namespace ver_2
}
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)
@ -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)
{
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "ulnow=%lld, ultotal=%lld", ulnow, ultotal);
InfoLog(g_hLog, "ulnow=%lld, ultotal=%lld", ulnow, ultotal);
return 0;
}
@ -3689,7 +3691,7 @@ namespace ver_2
while (' ' == *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)
{
@ -4072,7 +4074,7 @@ namespace ver_2
}
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)
@ -4397,7 +4399,7 @@ namespace ver_2
case SANE_EVENT_DEVICE_ARRIVED:
{
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);
std::list<class WSUser *>::iterator iter;
@ -4411,7 +4413,7 @@ namespace ver_2
case SANE_EVENT_DEVICE_LEFT:
{
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->mgr = p;
@ -4436,7 +4438,7 @@ namespace ver_2
break;
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);
if (NULL != p->m_scanUser)
@ -4448,7 +4450,7 @@ namespace ver_2
break;
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);
@ -4473,7 +4475,7 @@ namespace ver_2
break;
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);
if (NULL != p->m_scanUser)
@ -4485,7 +4487,7 @@ namespace ver_2
break;
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);
if (NULL != p->m_scanUser)
@ -4497,7 +4499,7 @@ namespace ver_2
break;
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;
@ -4593,7 +4595,7 @@ namespace ver_2
HGResult ret = HGBase_WaitEventTimeout(p->m_event, timeout);
if (HGBASE_ERR_TIMEOUT == ret)
{
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "timeout, deinit device");
InfoLog(g_hLog, "timeout, deinit device");
DeinitDevParam* deinitDevParam = new DeinitDevParam;
deinitDevParam->mgr = p;

View File

@ -1,6 +1,5 @@
#include "SockIoServer.h"
#include "SockIoUser.h"
#include "base/HGInfo.h"
namespace ver_1
{

View File

@ -1,12 +1,14 @@
#include "SockIoUser.h"
#include "SockIoServer.h"
#include "ManagerV1.h"
#include "base/HGInfo.h"
#include "log/log.h"
#include "base/HGUtility.h"
#include "cJSON.h"
#include "sha1.h"
#include "base64.h"
extern HLOG g_hLog;
namespace ver_1
{
#if defined(HG_CMP_MSC)
@ -127,7 +129,7 @@ namespace ver_1
void SockIoUser::ThreadFunc()
{
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "SockIoUser::ThreadFunc");
InfoLog(g_hLog, "SockIoUser::ThreadFunc");
char chBuffer[2048];
const char* pBuffer = chBuffer;

View File

@ -1,6 +1,5 @@
#include "WSServer.h"
#include "WSUser.h"
#include "base/HGInfo.h"
namespace ver_2
{

View File

@ -1,12 +1,14 @@
#include "WSUser.h"
#include "WSServer.h"
#include "ManagerV2.h"
#include "base/HGInfo.h"
#include "log/log.h"
#include "base/HGUtility.h"
#include "sha1.h"
#include "base64.h"
#include "HGString.h"
extern HLOG g_hLog;
namespace ver_2
{
static int GetJsonIntValue(cJSON* json, const std::string& key, bool *find = NULL)
@ -496,7 +498,7 @@ namespace ver_2
void WSUser::ThreadFunc()
{
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "WSUser::ThreadFunc");
InfoLog(g_hLog, "WSUser::ThreadFunc");
char chBuffer[2048];
const char* pBuffer = chBuffer;
@ -967,7 +969,7 @@ namespace ver_2
HttpHead::AnalysisHead(head, requestMethod, requestURIPath, requestURIQueryInfos,
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"))
// return false;

View File

@ -1,6 +1,8 @@
#include "WebServer.h"
#include "WebUser.h"
#include "base/HGInfo.h"
#include "log/log.h"
extern HLOG g_hLog;
WebServer::WebServer(HGMsgPump msgPump)
{
@ -44,7 +46,7 @@ bool WebServer::Open(HGUShort port)
if (-1 == sockServer)
#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;
}
@ -68,7 +70,7 @@ bool WebServer::Open(HGUShort port)
#else
close(sockServer);
#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;
}
@ -80,14 +82,14 @@ bool WebServer::Open(HGUShort port)
#else
close(sockServer);
#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;
}
m_sockServer = sockServer;
HGBase_OpenThread(ThreadFunc, this, &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;
}

View File

@ -1,6 +1,8 @@
#include "WebUser.h"
#include "WebServer.h"
#include "base/HGInfo.h"
#include "log/log.h"
extern HLOG g_hLog;
#if defined(HG_CMP_MSC)
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()
{
HGBase_WriteInfo(HGBASE_INFOTYPE_DESC, "WebUser::ThreadFunc");
InfoLog(g_hLog, "WebUser::ThreadFunc");
}
void HGAPI WebUser::ThreadFunc(HGThread thread, HGPointer param)

View File

@ -12,10 +12,30 @@
#include "WSServer.h"
#include "MsgPumpCallback.h"
#include "curl/curl.h"
#include "log/log.h"
HLOG g_hLog = nullptr;
//HGMsgPump msgPumpV1 = 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)
{
HGChar logPath[256];
@ -168,6 +188,7 @@ void WINAPI ServiceMain(DWORD dwNumServicesArgs, LPTSTR* lpServiceArgVectors)
int main()
{
HGBase_RegisterCrashFunc(CrashFunc, NULL);
g_hLog = EnableLog(NULL, oem, "app");
TCHAR serviceName[128];
lstrcpy(serviceName, SERVICE_NAME);
@ -179,6 +200,9 @@ int main()
tableEntry[1].lpServiceProc = NULL;
StartServiceCtrlDispatcher(tableEntry);
DisableLog(g_hLog);
g_hLog = nullptr;
return 0;
}
@ -191,6 +215,8 @@ int main()
assert(0 == ret);
curl_global_init(CURL_GLOBAL_ALL);
g_hLog = EnableLog(NULL, oem, "app");
//HGBase_CreateMsgPump(&msgPumpV1);
//HGThread threadV1 = NULL;
//HGBase_OpenThread(ThreadFuncV1, msgPumpV1, &threadV1);
@ -211,6 +237,9 @@ int main()
curl_global_cleanup();
WSACleanup();
DisableLog(g_hLog);
g_hLog = nullptr;
return 0;
}
@ -223,6 +252,8 @@ int main()
HGBase_RegisterCrashFunc(CrashFunc, NULL);
curl_global_init(CURL_GLOBAL_ALL);
g_hLog = EnableLog(NULL, oem, "app");
//HGBase_CreateMsgPump(&msgPumpV1);
//HGThread threadV1 = NULL;
//HGBase_OpenThread(ThreadFuncV1, msgPumpV1, &threadV1);
@ -241,6 +272,10 @@ int main()
//msgPumpV1 = NULL;
curl_global_cleanup();
DisableLog(g_hLog);
g_hLog = nullptr;
return 0;
}