code_app/sdk/webservice/ManagerV2.h

72 lines
2.1 KiB
C++

#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 <string>
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:
};
}