#pragma once #include "base/HGDef.h" #include "base/HGInc.h" #include "base/HGLock.h" #include "base/HGImage.h" #include "base/HGMsgPump.h" #include "sane/sane_ex.h" #include "sane/sane_option_definitions.h" #include "Manager.h" #include "Msg.h" #include namespace ver_2 { struct GlobalConfig { // 文件保存 std::string fileSavePath; std::string fileNamePrefix; std::string fileNameMode; // 图像保存 std::string imageFormat; int imageJpegQuality; std::string imageTiffCompression; int imageTiffJpegQuality; // 上传 std::string uploadHttpHost; unsigned short uploadHttpPort; std::string uploadHttpPath; std::string uploadFtpUser; std::string uploadFtpPassword; std::string uploadFtpHost; unsigned short uploadFtpPort; }; class ManagerV2 : public Manager { public: ManagerV2(HGMsgPump msgPump); virtual ~ManagerV2(); // 扫描完成 void ScanFinish(const ScanFinishParam* param); // 设置全局配置 int SetGlobalConfig(const GlobalConfig& cfg); // 获取全局配置 int GetGlobalConfig(GlobalConfig& cfg); // 加载本地图像 int LoadLocalImage(const std::string& imagePath, std::string& imgBase64); // 保存本地图像 int SaveLocalImage(const std::string& imgBase64, std::string& imagePath); // 删除本地文件 int DeleteLocalFile(const std::string& filePath); private: std::string GetCfgStringValue(const std::string& app, const std::string& key, const std::string& def); int GetCfgIntValue(const std::string& app, const std::string& key, int def); bool GetCfgBoolValue(const std::string& app, const std::string& key, bool def); bool SetCfgStringValue(const std::string& app, const std::string& key, const std::string& val); bool SetCfgIntValue(const std::string& app, const std::string& key, int val); bool SetCfgBoolValue(const std::string& app, const std::string& key, bool val); static int GetBase64(const std::string& fileName, std::string& base64); static int SaveBase64(const std::string& fileName, const std::string& base64); std::string GetFilePath(const std::string& suffix); std::string GetImagePath(); private: }; }