From 730c38b2c13861ab841a82841f785741ded297c3 Mon Sep 17 00:00:00 2001 From: jas <1790731762@qq.com> Date: Tue, 12 Dec 2023 15:15:39 +0800 Subject: [PATCH] =?UTF-8?q?[zhoulongyu]:=20=E5=AE=8C=E5=96=84=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E5=BA=93=E7=9A=84Int=E6=95=B0=E6=8D=AE=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- middleware/IpcConfig/src/IpcConfig.cpp | 26 +++++++++++++++----------- middleware/IpcConfig/src/IpcConfig.h | 2 +- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/middleware/IpcConfig/src/IpcConfig.cpp b/middleware/IpcConfig/src/IpcConfig.cpp index a07ca584..00b5c7f7 100644 --- a/middleware/IpcConfig/src/IpcConfig.cpp +++ b/middleware/IpcConfig/src/IpcConfig.cpp @@ -21,12 +21,14 @@ IpcConfig::IpcConfig() { mCfgChanged = CONFIG_HAS_NOT_CHANGED; - mCfgMapInt.insert(std::make_pair>( - IpcConfigKey::TEST_NUM, std::reference_wrapper(mAllData.testNum))); - std::map> innerMap; - innerMap.insert(std::make_pair("test_string", std::reference_wrapper(mAllData.testString))); - mCfgMapString.insert(std::make_pair(IpcConfigKey::TEST_STRING, innerMap)); + std::map> innerMapInt; + innerMapInt.insert(std::make_pair("test_num", std::reference_wrapper(mAllData.testNum))); + mCfgMapInt.insert(std::make_pair(IpcConfigKey::TEST_NUM, innerMapInt)); + + std::map> innerMapString; + innerMapString.insert(std::make_pair("test_string", std::reference_wrapper(mAllData.testString))); + mCfgMapString.insert(std::make_pair(IpcConfigKey::TEST_STRING, innerMapString)); } const StatusCode IpcConfig::Init(void) { @@ -52,10 +54,10 @@ const StatusCode IpcConfig::ConfigFileSave(void) { return ConfigSaveFile(mCfg); const int IpcConfig::GetInt(const IpcConfigKey &key) { - std::map>::iterator iter; + std::map>>::iterator iter; iter = mCfgMapInt.find(key); - if (iter != mCfgMapInt.end()) { - return iter->second; + if (iter != mCfgMapInt.end() && CHECK_MAP(iter->second)) { + return iter->second.begin()->second; } LogError("Can't find the key.\n"); constexpr int UNKNOWN_CONFIG = -1; @@ -63,10 +65,12 @@ const int IpcConfig::GetInt(const IpcConfigKey &key) } void IpcConfig::SetInt(const IpcConfigKey &key, const int &value) { - std::map>::iterator iter; + std::map>>::iterator iter; iter = mCfgMapInt.find(key); - if (iter != mCfgMapInt.end()) { - iter->second.get() = value; + if (iter != mCfgMapInt.end() && CHECK_MAP(iter->second)) { + iter->second.begin()->second.get() = value; + const char *name = iter->second.begin()->first.c_str(); // const std::strinbg --> const char * + ConfigSetInt(mCfg, name, iter->second.begin()->second); mCfgChanged = CONFIG_HAS_CHANGED; } else { diff --git a/middleware/IpcConfig/src/IpcConfig.h b/middleware/IpcConfig/src/IpcConfig.h index 2e472fd1..4828ef87 100644 --- a/middleware/IpcConfig/src/IpcConfig.h +++ b/middleware/IpcConfig/src/IpcConfig.h @@ -70,7 +70,7 @@ private: bool mCfgChanged; VConfig *mCfg; Config_s mAllData; - std::map> mCfgMapInt; + std::map>> mCfgMapInt; std::map> mCfgMapShort; std::map> mCfgMapLong; std::map> mCfgMapLongLong;