We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
もう少しいい感じに書けるかも。Keys/DefaultValuesを内包する型パラメータの指定は考察が必要
wfh_monitor/src/GlobalConfig.h
Line 105 in d3e530a
/** * @brief 指定された値をconfigVolatileに書き込みます * * @tparam T 書き込むデータの型 * @param isOverwrite すでに値がセットされている場合でも上書きする場合はtrue * @param key セット対象のKey * @param value セットする値 */ template<typename T> void write(bool isOverwrite, const char* key, T& value) { if (isOverwrite || !this->configVolatile.containsKey(key)) { this->configVolatile[key] = value; } } /** * @brief 指定されたKeyの値を読み出します * * @tparam T 読み出す型 * @param key 読み出し対象のKey * @param value 読みだしたデータの書き込み先、Keyが存在しない場合は操作しません * @return true 読み出し成功 * @return false 読み出し失敗 */ template<typename T> bool read(const char* key, T& value) { // Keyが存在しない if (!this->configVolatile.containsKey(key)) { return false; } // 値を読み出す value = this->configVolatile[key]; return true; } /** * @brief すべての値を初期値で上書きします * @param isMigrate 存在しない値のみを上書きする場合はtrue * * @note 完全新規のconfigを生成する場合はisMigrate=falseで実行する */ void init(bool isMigrate) { // 一通り必要な初期値をセット // TODO: もう少しいい感じに書けるかも。Keys/DefaultValuesを内包する型パラメータの指定は考察が必要 this->write(!isMigrate, GlobalConfigKeys::Identifier , GlobalConfigDefaultValues::Identifier); this->write(!isMigrate, GlobalConfigKeys::Date , GlobalConfigDefaultValues::Date); this->write(!isMigrate, GlobalConfigKeys::Time , GlobalConfigDefaultValues::Time); this->write(!isMigrate, GlobalConfigKeys::GroveTaskFps , GlobalConfigDefaultValues::GroveTaskFps); this->write(!isMigrate, GlobalConfigKeys::ButtonTaskFps , GlobalConfigDefaultValues::ButtonTaskFps); this->write(!isMigrate, GlobalConfigKeys::UiTaskFps , GlobalConfigDefaultValues::UiTaskFps); this->write(!isMigrate, GlobalConfigKeys::BrightnessHoldMs , GlobalConfigDefaultValues::BrightnessHoldMs); this->write(!isMigrate, GlobalConfigKeys::BrightnessTransitionMs , GlobalConfigDefaultValues::BrightnessTransitionMs); // migrationでなければNonVolatile側にも反映(this->clear()対策) if (!isMigrate) { this->configNonVolatile = this->configVolatile; } } /** ndex ffbaee7..fffdaa7 100644 ++ b/src/UiTask.cpp
ff16bf4e6a41f4415616df49d0e79100a6a39e5b
The text was updated successfully, but these errors were encountered:
No branches or pull requests
もう少しいい感じに書けるかも。Keys/DefaultValuesを内包する型パラメータの指定は考察が必要
wfh_monitor/src/GlobalConfig.h
Line 105 in d3e530a
ff16bf4e6a41f4415616df49d0e79100a6a39e5b
The text was updated successfully, but these errors were encountered: