zynq_7010/zynq_7010_code/JsonConfig.h

56 lines
1.5 KiB
C++

#pragma once
#include <unistd.h>
#include "json.hpp"
#include "scanservices_utils.h"
#include <string>
#include <map>
#include <mutex>
#define SCANNER_SCAN_INFO_PATH "/mnt/flash-disk/huago/jsonconfig.json"
using namespace std;
using json = nlohmann::json;
class JsonConfig
{
public:
enum class ConfigType
{
Color_Flat,
Color_Correct,
Gray_Flat,
Gray_Correct
};
private:
map<ConfigType,string> cfgPaths={
{ConfigType::Color_Flat,"/usr/local/etc/huago/Color_Flat.json"},
{ConfigType::Color_Correct,"/usr/local/etc/huago/Color_Correct.json"},
{ConfigType::Gray_Flat,"/usr/local/etc/huago/Gray_Flat.json"},
{ConfigType::Gray_Correct,"/usr/local/etc/huago/Gray_Correct.json"}
};
map<ConfigType,string> cfgPrefix={
{ConfigType::Color_Flat,"Color_Flat"},
{ConfigType::Color_Correct,"Color_Correct"},
{ConfigType::Gray_Flat,"Gray_Flat"},
{ConfigType::Gray_Correct,"Gray_Correct"}
};
ConfigType m_cfgType;
public:
JsonConfig();
JsonConfig(ConfigType type);
~JsonConfig();
/*
*若返回false 则表示文件不存在或文件读取失败
*/
// bool ReadParam(FPGAConfigParam& param);
// void WriteParam(FPGAConfigParam& t_param);
ScannerScanInfo GetScanInfo();
map<int, sp_COLOR_or_GRAY >::iterator l_it;
void SaveScanInfo(const ScannerScanInfo& info);
private:
//FPGAConfigParam CreateDefault();
std::mutex m_lock;
ScannerScanInfo CreateDefaultScanInfo();
};