90 lines
3.2 KiB
C++
90 lines
3.2 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>
|
|
#include <vector>
|
|
|
|
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);
|
|
// 清理全局文件保存目录
|
|
int ClearGlobalFileSavePath();
|
|
// 合成本地图像
|
|
int MergeLocalImage(const std::vector<std::string>& imagePathList, const std::string& mode,
|
|
const std::string& align, int interval, std::string& outImagePath);
|
|
// 本地合成多张图像
|
|
int LocalMakeMultiImage(const std::vector<std::string>& imagePathList, const std::string& format,
|
|
const std::string& tiffCompression, int tiffJpegQuality, std::string& outImagePath);
|
|
// 拆分本地图像
|
|
int SplitLocalImage(const std::string& imagePath, const std::string& mode, int location,
|
|
std::vector<std::string>& outImagePathList);
|
|
// 本地生成压缩文件
|
|
int LocalMakeZipFile(const std::vector<std::string>& filePathList, std::string& outZipPath);
|
|
// 本地图像纠偏
|
|
int LocalImageDeskew(const std::string& imagePath, std::string& outImagePath);
|
|
// 上传文件
|
|
int UploadLocalFile(const std::string& filePath, const std::string& mode, const std::string& remoteFilePath);
|
|
|
|
private:
|
|
static std::string GetCfgStringValue(const std::string& app, const std::string& key, const std::string& def);
|
|
static int GetCfgIntValue(const std::string& app, const std::string& key, int def);
|
|
static bool GetCfgBoolValue(const std::string& app, const std::string& key, bool def);
|
|
static bool SetCfgStringValue(const std::string& app, const std::string& key, const std::string& val);
|
|
static bool SetCfgIntValue(const std::string& app, const std::string& key, int val);
|
|
static bool SetCfgBoolValue(const std::string& app, const std::string& key, bool val);
|
|
static int LoadBase64(const std::string& fileName, std::string& base64);
|
|
static int SaveBase64(const std::string& base64, const std::string& fileName);
|
|
static std::string GetFilePath(const std::string& suffix);
|
|
static std::string GetImagePath();
|
|
|
|
private:
|
|
|
|
};
|
|
} |