From 572a0ce409f261f28b2bcc2159c6b741c5269aa2 Mon Sep 17 00:00:00 2001 From: yangjiaxuan <171295266@qq.com> Date: Thu, 1 Aug 2024 13:46:17 +0800 Subject: [PATCH] =?UTF-8?q?app=E3=80=81web=E5=85=A8=E9=83=A8=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=97=A5=E5=BF=97=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/fwupgrade/dialog_updateprogress.cpp | 7 +- app/fwupgrade/main.cpp | 42 +++--- app/scanner2/dialog_exportimagefile.cpp | 1 - app/scanner2/dialog_logmanager.cpp | 3 - app/scanner2/dialog_updateprogress.cpp | 6 +- app/scanner2/main.cpp | 28 +++- app/scanner2/mainwindow.cpp | 9 +- app/scanner2/mainwindow.h | 3 + app/upgrade/mainwindow.cpp | 1 - build2/qt/HGBase/HGBase.def | 13 -- build2/qt/HGBase/HGBase.pro | 12 +- build2/qt/HGFWUpgrade/HGFWUpgrade.pro | 2 + build2/qt/HGImgFmt/HGImgFmt.pro | 3 + build2/qt/HGImgProc/HGImgProc.pro | 4 + build2/qt/HGScanner2/HGScanner2.pro | 2 + build2/qt/HGScannerLib/HGScannerLib.pro | 3 + build2/qt/HGTwainUI/HGTwainUI.pro | 2 + build2/qt/HGVersion/HGVersion.pro | 4 + build2/qt/HGWebService/HGWebService.pro | 2 + modules/base/HGBase.h | 3 - modules/base/HGConsole.cpp | 80 ----------- modules/base/HGConsole.h | 32 ----- modules/base/HGDll.cpp | 9 +- modules/base/HGInfo.cpp | 35 ----- modules/base/HGInfo.h | 36 ----- modules/base/HGInfoImpl.cpp | 172 ------------------------ modules/base/HGInfoImpl.hpp | 29 ---- modules/base/HGIni.cpp | 6 +- modules/base/HGLog.cpp | 90 ------------- modules/base/HGLog.h | 42 ------ modules/base/HGUtility.cpp | 10 +- modules/base/dllmain.cpp | 34 +++-- modules/imgfmt/HGBmp.cpp | 6 +- modules/imgfmt/HGGif.cpp | 6 +- modules/imgfmt/HGJpeg.cpp | 5 +- modules/imgfmt/HGOfdImpl.cpp | 6 +- modules/imgfmt/HGPdfImpl.cpp | 5 +- modules/imgfmt/HGPng.cpp | 6 +- modules/imgfmt/HGPnm.cpp | 6 +- modules/imgfmt/HGTiff.cpp | 6 +- modules/imgfmt/dllmain.cpp | 27 +++- modules/imgproc/HGOCRHanvon.cpp | 24 ++-- modules/imgproc/HGOCRTesseract.cpp | 14 +- modules/imgproc/dllmain.cpp | 60 +++++++++ modules/twain_user/HGTwainImpl.cpp | 1 - modules/twainui/Manager.cpp | 13 +- modules/twainui/dllmain.cpp | 28 +++- modules/version/HGVersionImpl.cpp | 59 ++++---- modules/version/dllmain.cpp | 60 +++++++++ sdk/scannerlib/HGLibDeviceImpl.cpp | 18 +-- sdk/scannerlib/dllmain.cpp | 60 +++++++++ sdk/webservice/HttpServer.cpp | 1 - sdk/webservice/HttpUser.cpp | 8 +- sdk/webservice/ManagerV1.cpp | 40 +++--- sdk/webservice/ManagerV2.cpp | 34 ++--- sdk/webservice/SockIoServer.cpp | 1 - sdk/webservice/SockIoUser.cpp | 6 +- sdk/webservice/WSServer.cpp | 1 - sdk/webservice/WSUser.cpp | 8 +- sdk/webservice/WebServer.cpp | 12 +- sdk/webservice/WebUser.cpp | 6 +- sdk/webservice/main.cpp | 35 +++++ 62 files changed, 564 insertions(+), 723 deletions(-) delete mode 100644 modules/base/HGConsole.cpp delete mode 100644 modules/base/HGConsole.h delete mode 100644 modules/base/HGInfo.cpp delete mode 100644 modules/base/HGInfo.h delete mode 100644 modules/base/HGInfoImpl.cpp delete mode 100644 modules/base/HGInfoImpl.hpp delete mode 100644 modules/base/HGLog.cpp delete mode 100644 modules/base/HGLog.h create mode 100644 modules/imgproc/dllmain.cpp create mode 100644 modules/version/dllmain.cpp create mode 100644 sdk/scannerlib/dllmain.cpp diff --git a/app/fwupgrade/dialog_updateprogress.cpp b/app/fwupgrade/dialog_updateprogress.cpp index ac428d7b..999db36c 100644 --- a/app/fwupgrade/dialog_updateprogress.cpp +++ b/app/fwupgrade/dialog_updateprogress.cpp @@ -1,11 +1,13 @@ #include "dialog_updateprogress.h" #include "ui_dialog_updateprogress.h" -#include "base/HGInfo.h" +#include "log/log.h" #include #include #include #include +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(); diff --git a/app/fwupgrade/main.cpp b/app/fwupgrade/main.cpp index 4adf07fd..8a611610 100644 --- a/app/fwupgrade/main.cpp +++ b/app/fwupgrade/main.cpp @@ -18,6 +18,26 @@ #include #endif +#include "log/log.h" +HLOG g_hLog = nullptr; + +const char *appName = "HuaGoScan"; +#if defined(OEM_HANWANG) + appName = "HanvonScan"; +#elif defined(OEM_LISICHENG) + appName = "LanxumScan"; +#elif defined(OEM_CANGTIAN) + appName = "CumtennScan"; +#elif defined(OEM_ZHONGJING) + appName = "MicrotekScan"; +#elif defined(OEM_ZIGUANG) + appName = "UniScan"; +#elif defined(OEM_DELI) + appName = "DeliScan"; +#elif defined(OEM_NEUTRAL) + appName = "NeuScan"; +#endif + HGResult GetConfigPath(HGChar* configPath, HGUInt maxLen) { if (NULL == configPath || 0 == maxLen) @@ -25,23 +45,6 @@ HGResult GetConfigPath(HGChar* configPath, HGUInt maxLen) return HGBASE_ERR_INVALIDARG; } - const char *appName = "HuaGoScan"; -#if defined(OEM_HANWANG) - appName = "HanvonScan"; -#elif defined(OEM_LISICHENG) - appName = "LanxumScan"; -#elif defined(OEM_CANGTIAN) - appName = "CumtennScan"; -#elif defined(OEM_ZHONGJING) - appName = "MicrotekScan"; -#elif defined(OEM_ZIGUANG) - appName = "UniScan"; -#elif defined(OEM_DELI) - appName = "DeliScan"; -#elif defined(OEM_NEUTRAL) - appName = "NeuScan"; -#endif - #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; } diff --git a/app/scanner2/dialog_exportimagefile.cpp b/app/scanner2/dialog_exportimagefile.cpp index 10131830..2034890e 100644 --- a/app/scanner2/dialog_exportimagefile.cpp +++ b/app/scanner2/dialog_exportimagefile.cpp @@ -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" diff --git a/app/scanner2/dialog_logmanager.cpp b/app/scanner2/dialog_logmanager.cpp index 99102f85..daf5df1b 100644 --- a/app/scanner2/dialog_logmanager.cpp +++ b/app/scanner2/dialog_logmanager.cpp @@ -1,7 +1,6 @@ #include "dialog_logmanager.h" #include "ui_dialog_logmanager.h" #include "base/HGUtility.h" -#include "base/HGInfo.h" #include #include #include @@ -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(); diff --git a/app/scanner2/dialog_updateprogress.cpp b/app/scanner2/dialog_updateprogress.cpp index e2800347..a880de4c 100644 --- a/app/scanner2/dialog_updateprogress.cpp +++ b/app/scanner2/dialog_updateprogress.cpp @@ -1,11 +1,13 @@ #include "dialog_updateprogress.h" #include "ui_dialog_updateprogress.h" -#include "base/HGInfo.h" #include #include #include #include +#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(); diff --git a/app/scanner2/main.cpp b/app/scanner2/main.cpp index e068c1c0..fb76c4dd 100644 --- a/app/scanner2/main.cpp +++ b/app/scanner2/main.cpp @@ -5,11 +5,32 @@ #include #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; } diff --git a/app/scanner2/mainwindow.cpp b/app/scanner2/mainwindow.cpp index 460215a6..219f9470 100644 --- a/app/scanner2/mainwindow.cpp +++ b/app/scanner2/mainwindow.cpp @@ -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) { diff --git a/app/scanner2/mainwindow.h b/app/scanner2/mainwindow.h index a4061742..0612f5a3 100644 --- a/app/scanner2/mainwindow.h +++ b/app/scanner2/mainwindow.h @@ -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 diff --git a/app/upgrade/mainwindow.cpp b/app/upgrade/mainwindow.cpp index 4ff6ac8c..0dae1609 100644 --- a/app/upgrade/mainwindow.cpp +++ b/app/upgrade/mainwindow.cpp @@ -2,7 +2,6 @@ #include "ui_mainwindow.h" #include "base/HGDef.h" #include "base/HGInc.h" -#include "base/HGInfo.h" #include #include #include diff --git a/build2/qt/HGBase/HGBase.def b/build2/qt/HGBase/HGBase.def index 63a4090d..6f3c282f 100644 --- a/build2/qt/HGBase/HGBase.def +++ b/build2/qt/HGBase/HGBase.def @@ -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 diff --git a/build2/qt/HGBase/HGBase.pro b/build2/qt/HGBase/HGBase.pro index 203b948a..701fcd2d 100644 --- a/build2/qt/HGBase/HGBase.pro +++ b/build2/qt/HGBase/HGBase.pro @@ -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 \ diff --git a/build2/qt/HGFWUpgrade/HGFWUpgrade.pro b/build2/qt/HGFWUpgrade/HGFWUpgrade.pro index 735fba6b..8f28c000 100644 --- a/build2/qt/HGFWUpgrade/HGFWUpgrade.pro +++ b/build2/qt/HGFWUpgrade/HGFWUpgrade.pro @@ -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 diff --git a/build2/qt/HGImgFmt/HGImgFmt.pro b/build2/qt/HGImgFmt/HGImgFmt.pro index 31d0f9fe..bfcfc524 100644 --- a/build2/qt/HGImgFmt/HGImgFmt.pro +++ b/build2/qt/HGImgFmt/HGImgFmt.pro @@ -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} diff --git a/build2/qt/HGImgProc/HGImgProc.pro b/build2/qt/HGImgProc/HGImgProc.pro index 57a58fa9..0966f84c 100644 --- a/build2/qt/HGImgProc/HGImgProc.pro +++ b/build2/qt/HGImgProc/HGImgProc.pro @@ -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 += \ diff --git a/build2/qt/HGScanner2/HGScanner2.pro b/build2/qt/HGScanner2/HGScanner2.pro index 92733996..03e5c759 100644 --- a/build2/qt/HGScanner2/HGScanner2.pro +++ b/build2/qt/HGScanner2/HGScanner2.pro @@ -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 diff --git a/build2/qt/HGScannerLib/HGScannerLib.pro b/build2/qt/HGScannerLib/HGScannerLib.pro index 03c7e7ff..66a74288 100644 --- a/build2/qt/HGScannerLib/HGScannerLib.pro +++ b/build2/qt/HGScannerLib/HGScannerLib.pro @@ -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 += \ diff --git a/build2/qt/HGTwainUI/HGTwainUI.pro b/build2/qt/HGTwainUI/HGTwainUI.pro index 18940b82..1a327773 100644 --- a/build2/qt/HGTwainUI/HGTwainUI.pro +++ b/build2/qt/HGTwainUI/HGTwainUI.pro @@ -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 diff --git a/build2/qt/HGVersion/HGVersion.pro b/build2/qt/HGVersion/HGVersion.pro index cae9383d..c62f432b 100644 --- a/build2/qt/HGVersion/HGVersion.pro +++ b/build2/qt/HGVersion/HGVersion.pro @@ -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 diff --git a/build2/qt/HGWebService/HGWebService.pro b/build2/qt/HGWebService/HGWebService.pro index 2cffd6dd..ea093bb8 100644 --- a/build2/qt/HGWebService/HGWebService.pro +++ b/build2/qt/HGWebService/HGWebService.pro @@ -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 diff --git a/modules/base/HGBase.h b/modules/base/HGBase.h index afcd65fe..212d4d67 100644 --- a/modules/base/HGBase.h +++ b/modules/base/HGBase.h @@ -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" diff --git a/modules/base/HGConsole.cpp b/modules/base/HGConsole.cpp deleted file mode 100644 index 0c963dc0..00000000 --- a/modules/base/HGConsole.cpp +++ /dev/null @@ -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; -} diff --git a/modules/base/HGConsole.h b/modules/base/HGConsole.h deleted file mode 100644 index 566f4ae9..00000000 --- a/modules/base/HGConsole.h +++ /dev/null @@ -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__ */ \ No newline at end of file diff --git a/modules/base/HGDll.cpp b/modules/base/HGDll.cpp index 45e59a7a..a0c36094 100644 --- a/modules/base/HGDll.cpp +++ b/modules/base/HGDll.cpp @@ -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 #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 diff --git a/modules/base/HGInfo.cpp b/modules/base/HGInfo.cpp deleted file mode 100644 index c6e47fff..00000000 --- a/modules/base/HGInfo.cpp +++ /dev/null @@ -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); -} \ No newline at end of file diff --git a/modules/base/HGInfo.h b/modules/base/HGInfo.h deleted file mode 100644 index 7526647c..00000000 --- a/modules/base/HGInfo.h +++ /dev/null @@ -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__ */ \ No newline at end of file diff --git a/modules/base/HGInfoImpl.cpp b/modules/base/HGInfoImpl.cpp deleted file mode 100644 index d38b1026..00000000 --- a/modules/base/HGInfoImpl.cpp +++ /dev/null @@ -1,172 +0,0 @@ -#include "HGInfoImpl.hpp" -#include "HGInfo.h" -#include "HGInc.h" -#include "HGUtility.h" -#include "HGIni.h" -#include -#include - -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; -} diff --git a/modules/base/HGInfoImpl.hpp b/modules/base/HGInfoImpl.hpp deleted file mode 100644 index 956dd4ea..00000000 --- a/modules/base/HGInfoImpl.hpp +++ /dev/null @@ -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__ */ \ No newline at end of file diff --git a/modules/base/HGIni.cpp b/modules/base/HGIni.cpp index 5cc8875e..956c2a45 100644 --- a/modules/base/HGIni.cpp +++ b/modules/base/HGIni.cpp @@ -1,9 +1,11 @@ #include "HGIni.h" #include "HGInc.h" -#include "HGInfo.h" +#include "log/log.h" #include #include +extern HLOG g_hLog; + typedef std::vector > KeyList; typedef std::vector > 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; } diff --git a/modules/base/HGLog.cpp b/modules/base/HGLog.cpp deleted file mode 100644 index c935ac2d..00000000 --- a/modules/base/HGLog.cpp +++ /dev/null @@ -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; -} diff --git a/modules/base/HGLog.h b/modules/base/HGLog.h deleted file mode 100644 index fa18a717..00000000 --- a/modules/base/HGLog.h +++ /dev/null @@ -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__ */ \ No newline at end of file diff --git a/modules/base/HGUtility.cpp b/modules/base/HGUtility.cpp index 0b7f7eb6..7421c7eb 100644 --- a/modules/base/HGUtility.cpp +++ b/modules/base/HGUtility.cpp @@ -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 #include @@ -10,6 +10,8 @@ #endif #include +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 diff --git a/modules/base/dllmain.cpp b/modules/base/dllmain.cpp index 22b0c5d5..d986f115 100644 --- a/modules/base/dllmain.cpp +++ b/modules/base/dllmain.cpp @@ -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 diff --git a/modules/imgfmt/HGBmp.cpp b/modules/imgfmt/HGBmp.cpp index 517d762f..ac81bfe0 100644 --- a/modules/imgfmt/HGBmp.cpp +++ b/modules/imgfmt/HGBmp.cpp @@ -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; } diff --git a/modules/imgfmt/HGGif.cpp b/modules/imgfmt/HGGif.cpp index b37c596a..c07e4133 100644 --- a/modules/imgfmt/HGGif.cpp +++ b/modules/imgfmt/HGGif.cpp @@ -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; } diff --git a/modules/imgfmt/HGJpeg.cpp b/modules/imgfmt/HGJpeg.cpp index bb1b1987..fd68f1a9 100644 --- a/modules/imgfmt/HGJpeg.cpp +++ b/modules/imgfmt/HGJpeg.cpp @@ -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; } diff --git a/modules/imgfmt/HGOfdImpl.cpp b/modules/imgfmt/HGOfdImpl.cpp index d29d0b0d..5393c81b 100644 --- a/modules/imgfmt/HGOfdImpl.cpp +++ b/modules/imgfmt/HGOfdImpl.cpp @@ -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; } diff --git a/modules/imgfmt/HGPdfImpl.cpp b/modules/imgfmt/HGPdfImpl.cpp index 0f465678..7b02dbbb 100644 --- a/modules/imgfmt/HGPdfImpl.cpp +++ b/modules/imgfmt/HGPdfImpl.cpp @@ -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 #include +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); diff --git a/modules/imgfmt/HGPng.cpp b/modules/imgfmt/HGPng.cpp index 375cf3c1..43413375 100644 --- a/modules/imgfmt/HGPng.cpp +++ b/modules/imgfmt/HGPng.cpp @@ -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; } diff --git a/modules/imgfmt/HGPnm.cpp b/modules/imgfmt/HGPnm.cpp index 6f6f09c2..6cb8f9df 100644 --- a/modules/imgfmt/HGPnm.cpp +++ b/modules/imgfmt/HGPnm.cpp @@ -1,9 +1,11 @@ #include "HGPnm.h" #include "../base/HGInc.h" -#include "../base/HGInfo.h" +#include "log/log.h" #include #include +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; } diff --git a/modules/imgfmt/HGTiff.cpp b/modules/imgfmt/HGTiff.cpp index 4e6a0e2a..00b45064 100644 --- a/modules/imgfmt/HGTiff.cpp +++ b/modules/imgfmt/HGTiff.cpp @@ -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; } diff --git a/modules/imgfmt/dllmain.cpp b/modules/imgfmt/dllmain.cpp index 88c936b8..467eb841 100644 --- a/modules/imgfmt/dllmain.cpp +++ b/modules/imgfmt/dllmain.cpp @@ -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 diff --git a/modules/imgproc/HGOCRHanvon.cpp b/modules/imgproc/HGOCRHanvon.cpp index 32afe77a..b4e8188d 100644 --- a/modules/imgproc/HGOCRHanvon.cpp +++ b/modules/imgproc/HGOCRHanvon.cpp @@ -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; diff --git a/modules/imgproc/HGOCRTesseract.cpp b/modules/imgproc/HGOCRTesseract.cpp index a12cdc6a..d74df5fc 100644 --- a/modules/imgproc/HGOCRTesseract.cpp +++ b/modules/imgproc/HGOCRTesseract.cpp @@ -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; } diff --git a/modules/imgproc/dllmain.cpp b/modules/imgproc/dllmain.cpp new file mode 100644 index 00000000..467eb841 --- /dev/null +++ b/modules/imgproc/dllmain.cpp @@ -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 diff --git a/modules/twain_user/HGTwainImpl.cpp b/modules/twain_user/HGTwainImpl.cpp index 4c54fd25..0a0bbeee 100644 --- a/modules/twain_user/HGTwainImpl.cpp +++ b/modules/twain_user/HGTwainImpl.cpp @@ -1,6 +1,5 @@ #include "HGTwainImpl.hpp" #include "../base/HGInc.h" -#include "../base/HGInfo.h" #include "../base/HGUtility.h" #include "app_cfg.h" diff --git a/modules/twainui/Manager.cpp b/modules/twainui/Manager.cpp index 2c12b614..83fcc619 100644 --- a/modules/twainui/Manager.cpp +++ b/modules/twainui/Manager.cpp @@ -4,12 +4,13 @@ #include #endif #include "lang/app_language.h" +#include "log/log.h" #include #include -#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 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 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) diff --git a/modules/twainui/dllmain.cpp b/modules/twainui/dllmain.cpp index 71b8f14e..810c34fe 100644 --- a/modules/twainui/dllmain.cpp +++ b/modules/twainui/dllmain.cpp @@ -6,8 +6,10 @@ #include "base/HGMsgPump.h" #include #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 diff --git a/modules/version/HGVersionImpl.cpp b/modules/version/HGVersionImpl.cpp index c274b9ad..14fd6360 100644 --- a/modules/version/HGVersionImpl.cpp +++ b/modules/version/HGVersionImpl.cpp @@ -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 #include @@ -12,6 +12,9 @@ #include #include "cJSON.h" #include "curl/curl.h" + +extern HLOG g_hLog; + #if defined(HG_CMP_MSC) #include #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& 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& 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& 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& 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::listname).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; diff --git a/sdk/scannerlib/dllmain.cpp b/sdk/scannerlib/dllmain.cpp new file mode 100644 index 00000000..467eb841 --- /dev/null +++ b/sdk/scannerlib/dllmain.cpp @@ -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 diff --git a/sdk/webservice/HttpServer.cpp b/sdk/webservice/HttpServer.cpp index 7ae0b806..c7947836 100644 --- a/sdk/webservice/HttpServer.cpp +++ b/sdk/webservice/HttpServer.cpp @@ -1,6 +1,5 @@ #include "HttpServer.h" #include "HttpUser.h" -#include "base/HGInfo.h" namespace ver_1 { diff --git a/sdk/webservice/HttpUser.cpp b/sdk/webservice/HttpUser.cpp index 9561b224..b3a5a775 100644 --- a/sdk/webservice/HttpUser.cpp +++ b/sdk/webservice/HttpUser.cpp @@ -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; diff --git a/sdk/webservice/ManagerV1.cpp b/sdk/webservice/ManagerV1.cpp index 48a04025..888a378c 100644 --- a/sdk/webservice/ManagerV1.cpp +++ b/sdk/webservice/ManagerV1.cpp @@ -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 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::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::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::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); diff --git a/sdk/webservice/ManagerV2.cpp b/sdk/webservice/ManagerV2.cpp index 268b8815..9c056e66 100644 --- a/sdk/webservice/ManagerV2.cpp +++ b/sdk/webservice/ManagerV2.cpp @@ -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::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; diff --git a/sdk/webservice/SockIoServer.cpp b/sdk/webservice/SockIoServer.cpp index 88b1b9c9..d6c6bdff 100644 --- a/sdk/webservice/SockIoServer.cpp +++ b/sdk/webservice/SockIoServer.cpp @@ -1,6 +1,5 @@ #include "SockIoServer.h" #include "SockIoUser.h" -#include "base/HGInfo.h" namespace ver_1 { diff --git a/sdk/webservice/SockIoUser.cpp b/sdk/webservice/SockIoUser.cpp index a71d4887..77065678 100644 --- a/sdk/webservice/SockIoUser.cpp +++ b/sdk/webservice/SockIoUser.cpp @@ -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; diff --git a/sdk/webservice/WSServer.cpp b/sdk/webservice/WSServer.cpp index 7416399d..92962027 100644 --- a/sdk/webservice/WSServer.cpp +++ b/sdk/webservice/WSServer.cpp @@ -1,6 +1,5 @@ #include "WSServer.h" #include "WSUser.h" -#include "base/HGInfo.h" namespace ver_2 { diff --git a/sdk/webservice/WSUser.cpp b/sdk/webservice/WSUser.cpp index 7ab0762a..09837411 100644 --- a/sdk/webservice/WSUser.cpp +++ b/sdk/webservice/WSUser.cpp @@ -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; diff --git a/sdk/webservice/WebServer.cpp b/sdk/webservice/WebServer.cpp index df7e1e27..fb7905d2 100644 --- a/sdk/webservice/WebServer.cpp +++ b/sdk/webservice/WebServer.cpp @@ -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; } diff --git a/sdk/webservice/WebUser.cpp b/sdk/webservice/WebUser.cpp index 05f611e5..12a0eaba 100644 --- a/sdk/webservice/WebUser.cpp +++ b/sdk/webservice/WebUser.cpp @@ -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) diff --git a/sdk/webservice/main.cpp b/sdk/webservice/main.cpp index 59d2223f..519ede1a 100644 --- a/sdk/webservice/main.cpp +++ b/sdk/webservice/main.cpp @@ -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; }