diff --git a/middleware/IpcConfig/include/IIpcConfig.h b/middleware/IpcConfig/include/IIpcConfig.h index 81f211b..8159bec 100644 --- a/middleware/IpcConfig/include/IIpcConfig.h +++ b/middleware/IpcConfig/include/IIpcConfig.h @@ -21,17 +21,46 @@ enum class IpcConfigKey { - TEST_NUM = 0, + KEY_WORK_MODE = 0, + KEY_CONTINUOUS_SHOT, + KEY_BURST_PHOTO_INTERVAL, + KEY_IMGAE_SIZE, + KEY_VIDEO_SIZE, TEST_SHORT, TEST_LONG, TEST_LLONG, TEST_CHAR, TEST_BOOL, TEST_FLOAT, - TEST_DOUBLE, TEST_STRING, END }; +enum WorkMode +{ + WORK_MODE_PIC = 0, + WORK_MODE_PIC_VIDEO, + WORK_MODE_END, +}; +enum ContinuousShot +{ + CONTINUOUS_SHOT_ONE_PIC = 1, + CONTINUOUS_SHOT_TWO_PIC, + CONTINUOUS_SHOT_THREE_PIC, + CONTINUOUS_SHOT_END, +}; +enum BurstPhotoInterval +{ + BURST_PHOTO_INTERVAL_MIN = 0, + BURST_PHOTO_INTERVAL_DEFAULT = 5, + BURST_PHOTO_INTERVAL_MAX = 99, + BURST_PHOTO_INTERVAL_END, +}; +enum VideoSize +{ + VIDEO_SIZE_10 = 10, + VIDEO_SIZE_15 = 15, + VIDEO_SIZE_END, +}; class IIpcConfig { diff --git a/middleware/IpcConfig/src/IpcConfig.cpp b/middleware/IpcConfig/src/IpcConfig.cpp index d30494c..40c28e6 100644 --- a/middleware/IpcConfig/src/IpcConfig.cpp +++ b/middleware/IpcConfig/src/IpcConfig.cpp @@ -22,9 +22,27 @@ IpcConfig::IpcConfig() { mCfgChanged = CONFIG_HAS_NOT_CHANGED; - 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> innerMapWorkMode; + innerMapWorkMode.insert(std::make_pair("work_mode", std::reference_wrapper(mAllData.workMode))); + mCfgMapInt.insert(std::make_pair(IpcConfigKey::KEY_WORK_MODE, innerMapWorkMode)); + + std::map> innerMapContinuousShot; + innerMapContinuousShot.insert( + std::make_pair("continuous_shot", std::reference_wrapper(mAllData.continuousShot))); + mCfgMapInt.insert(std::make_pair(IpcConfigKey::KEY_CONTINUOUS_SHOT, innerMapContinuousShot)); + + std::map> innerMapBurstPhotoInterval; + innerMapBurstPhotoInterval.insert( + std::make_pair("burst_photo_interval", std::reference_wrapper(mAllData.burstPhotoInterval))); + mCfgMapInt.insert(std::make_pair(IpcConfigKey::KEY_BURST_PHOTO_INTERVAL, innerMapBurstPhotoInterval)); + + std::map> innerMapImageSize; + innerMapImageSize.insert(std::make_pair("image_size", std::reference_wrapper(mAllData.imageSize))); + mCfgMapDouble.insert(std::make_pair(IpcConfigKey::KEY_IMGAE_SIZE, innerMapImageSize)); + + std::map> innerMapVideoSize; + innerMapVideoSize.insert(std::make_pair("video_size", std::reference_wrapper(mAllData.videoSize))); + mCfgMapInt.insert(std::make_pair(IpcConfigKey::KEY_VIDEO_SIZE, innerMapVideoSize)); std::map> innerMapShort; innerMapShort.insert(std::make_pair("test_short", std::reference_wrapper(mAllData.testShort))); @@ -50,10 +68,6 @@ IpcConfig::IpcConfig() innerMapFloat.insert(std::make_pair("test_float", std::reference_wrapper(mAllData.testFloat))); mCfgMapFloat.insert(std::make_pair(IpcConfigKey::TEST_FLOAT, innerMapFloat)); - std::map> innerMapDouble; - innerMapDouble.insert(std::make_pair("test_double", std::reference_wrapper(mAllData.testDouble))); - mCfgMapDouble.insert(std::make_pair(IpcConfigKey::TEST_DOUBLE, innerMapDouble)); - std::map> innerMapString; innerMapString.insert(std::make_pair("test_string", std::reference_wrapper(mAllData.testString))); mCfgMapString.insert(std::make_pair(IpcConfigKey::TEST_STRING, innerMapString)); @@ -332,13 +346,44 @@ void IpcConfig::SetString(const IpcConfigKey &key, const std::string string) void IpcConfig::ReadAllConfigParameters(void) { - StatusCode code = ConfigGetInt(mCfg, "test_num", &(mAllData.testNum)); - if (StatusCodeEqual(code, "CONFIG_CODE_PARAM_NOT_EXIST")) { - LogWarning("test_num doesn't exist, will make it as default.\n"); + StatusCode workModeCode = ConfigGetInt(mCfg, "work_mode", &(mAllData.workMode)); + if (StatusCodeEqual(workModeCode, "CONFIG_CODE_PARAM_NOT_EXIST")) { + LogWarning("work_mode doesn't exist, will make it as default.\n"); mCfgChanged = CONFIG_HAS_CHANGED; - constexpr int DEFAULT_TEST_NUM = 10; - mAllData.testNum = DEFAULT_TEST_NUM; - ConfigSetInt(mCfg, "test_num", mAllData.testNum); + mAllData.workMode = WORK_MODE_PIC; + ConfigSetInt(mCfg, "work_mode", mAllData.workMode); + } + + StatusCode continuousShotCode = ConfigGetInt(mCfg, "continuous_shot", &(mAllData.continuousShot)); + if (StatusCodeEqual(continuousShotCode, "CONFIG_CODE_PARAM_NOT_EXIST")) { + LogWarning("continuous_shot doesn't exist, will make it as default.\n"); + mCfgChanged = CONFIG_HAS_CHANGED; + mAllData.continuousShot = CONTINUOUS_SHOT_ONE_PIC; + ConfigSetInt(mCfg, "continuous_shot", mAllData.continuousShot); + } + + StatusCode burstPhotoIntervalCode = ConfigGetInt(mCfg, "burst_photo_interval", &(mAllData.burstPhotoInterval)); + if (StatusCodeEqual(burstPhotoIntervalCode, "CONFIG_CODE_PARAM_NOT_EXIST")) { + LogWarning("burst_photo_interval doesn't exist, will make it as default.\n"); + mCfgChanged = CONFIG_HAS_CHANGED; + mAllData.burstPhotoInterval = BURST_PHOTO_INTERVAL_DEFAULT; + ConfigSetInt(mCfg, "burst_photo_interval", mAllData.burstPhotoInterval); + } + + StatusCode imageSizeCode = ConfigGetDouble(mCfg, "image_size", &(mAllData.imageSize)); + if (StatusCodeEqual(imageSizeCode, "CONFIG_CODE_PARAM_NOT_EXIST")) { + LogWarning("image_size doesn't exist, will make it as default.\n"); + mCfgChanged = CONFIG_HAS_CHANGED; + mAllData.imageSize = 410.014; + ConfigSetDouble(mCfg, "image_size", mAllData.imageSize); + } + + StatusCode videoSizeCode = ConfigGetInt(mCfg, "video_size", &(mAllData.videoSize)); + if (StatusCodeEqual(videoSizeCode, "CONFIG_CODE_PARAM_NOT_EXIST")) { + LogWarning("video_size doesn't exist, will make it as default.\n"); + mCfgChanged = CONFIG_HAS_CHANGED; + mAllData.videoSize = VIDEO_SIZE_15; + ConfigSetInt(mCfg, "video_size", mAllData.videoSize); } StatusCode shortCode = ConfigGetShort(mCfg, "test_short", &(mAllData.testShort)); @@ -395,15 +440,6 @@ void IpcConfig::ReadAllConfigParameters(void) ConfigSetFloat(mCfg, "test_float", mAllData.testFloat); } - StatusCode doubleCode = ConfigGetDouble(mCfg, "test_double", &(mAllData.testDouble)); - if (StatusCodeEqual(doubleCode, "CONFIG_CODE_PARAM_NOT_EXIST")) { - LogWarning("test_double doesn't exist, will make it as default.\n"); - mCfgChanged = CONFIG_HAS_CHANGED; - constexpr double DEFAULT_TEST_DOUBLE_NUM = 3.123456; - mAllData.testDouble = DEFAULT_TEST_DOUBLE_NUM; - ConfigSetDouble(mCfg, "test_double", mAllData.testDouble); - } - const char *testString = NULL; StatusCode stringCode = ConfigGetString(mCfg, "test_string", &(testString)); if (StatusCodeEqual(stringCode, "CONFIG_CODE_PARAM_NOT_EXIST")) { diff --git a/middleware/IpcConfig/src/IpcConfig.h b/middleware/IpcConfig/src/IpcConfig.h index 73008bb..c064c2e 100644 --- a/middleware/IpcConfig/src/IpcConfig.h +++ b/middleware/IpcConfig/src/IpcConfig.h @@ -25,14 +25,18 @@ constexpr bool CONFIG_HAS_NOT_CHANGED = false; typedef char CHAR_STRING[256]; typedef struct Config_s { - int testNum; + int workMode; + int continuousShot; + int burstPhotoInterval; + int videoSize; + double imageSize; + short testShort; - long testLong; - long long testLLong; char testChar; bool testBool; + long testLong; + long long testLLong; float testFloat; - double testDouble; CHAR_STRING testString; } Config_s; class MapInt diff --git a/test/middleware/IpcConfig/src/IpcConfig_Test.cpp b/test/middleware/IpcConfig/src/IpcConfig_Test.cpp index eae0604..5891586 100644 --- a/test/middleware/IpcConfig/src/IpcConfig_Test.cpp +++ b/test/middleware/IpcConfig/src/IpcConfig_Test.cpp @@ -11,10 +11,31 @@ TEST(IpcConfigTest, Demo) CreateIpcConfig(); ILogInit(LOG_INSTANCE_TYPE_END); IIpcConfig::GetInstance()->Init(); - int testNum = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::TEST_NUM); - LogInfo("Get testNum = %d\n", testNum); - const int numInt = 999; - IIpcConfig::GetInstance()->SetInt(IpcConfigKey::TEST_NUM, numInt); + + int workMode = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_WORK_MODE); + LogInfo("Get workMode = %d\n", workMode); + workMode = WORK_MODE_PIC_VIDEO; + IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_WORK_MODE, workMode); + + int continuousShot = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_CONTINUOUS_SHOT); + LogInfo("Get continuousShot = %d\n", continuousShot); + continuousShot = CONTINUOUS_SHOT_TWO_PIC; + IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_CONTINUOUS_SHOT, continuousShot); + + int burstPhotoInterval = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_BURST_PHOTO_INTERVAL); + LogInfo("Get burstPhotoInterval = %d\n", burstPhotoInterval); + burstPhotoInterval = BURST_PHOTO_INTERVAL_DEFAULT; + IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_BURST_PHOTO_INTERVAL, burstPhotoInterval); + + double imageSize = IIpcConfig::GetInstance()->GetDouble(IpcConfigKey::KEY_IMGAE_SIZE); + LogInfo("Get image_size = %lf\n", imageSize); + imageSize = 320.023; + IIpcConfig::GetInstance()->SetDouble(IpcConfigKey::KEY_IMGAE_SIZE, imageSize); + + int videoSize = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_VIDEO_SIZE); + LogInfo("Get video_size = %d\n", videoSize); + videoSize = VIDEO_SIZE_10; + IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_VIDEO_SIZE, videoSize); short testShort = IIpcConfig::GetInstance()->GetShort(IpcConfigKey::TEST_SHORT); LogInfo("Get test_short = %d\n", testShort); @@ -46,11 +67,6 @@ TEST(IpcConfigTest, Demo) const float numFloat = 1.123456; IIpcConfig::GetInstance()->SetFloat(IpcConfigKey::TEST_FLOAT, numFloat); - double testDouble = IIpcConfig::GetInstance()->GetDouble(IpcConfigKey::TEST_DOUBLE); - LogInfo("Get test_double = %lf\n", testDouble); - const double numDouble = 123456789.123456; - IIpcConfig::GetInstance()->SetDouble(IpcConfigKey::TEST_DOUBLE, numDouble); - const std::string testString = IIpcConfig::GetInstance()->GetString(IpcConfigKey::TEST_STRING); LogInfo("Get testString = %s\n", testString.c_str()); const std::string string = "define";