diff --git a/cobalt/h5vcc/h5vcc_settings.cc b/cobalt/h5vcc/h5vcc_settings.cc index 4c47039c28d5..59d76c863024 100644 --- a/cobalt/h5vcc/h5vcc_settings.cc +++ b/cobalt/h5vcc/h5vcc_settings.cc @@ -104,5 +104,22 @@ bool H5vccSettings::Set(const std::string& name, SetValueType value) const { return false; } +void H5vccSettings::SetPersistentSettingAsInt(const std::string& key, + int value) const { + if (persistent_settings_) { + persistent_settings_->SetPersistentSetting( + key, std::make_unique(value)); + } +} + +int H5vccSettings::GetPersistentSettingAsInt(const std::string& key, + int default_setting) const { + if (persistent_settings_) { + return persistent_settings_->GetPersistentSettingAsInt(key, + default_setting); + } + return default_setting; +} + } // namespace h5vcc } // namespace cobalt diff --git a/cobalt/h5vcc/h5vcc_settings.h b/cobalt/h5vcc/h5vcc_settings.h index f7e10cf56de4..d958c724e800 100644 --- a/cobalt/h5vcc/h5vcc_settings.h +++ b/cobalt/h5vcc/h5vcc_settings.h @@ -58,6 +58,11 @@ class H5vccSettings : public script::Wrappable { // invalid or not set to the expected value. bool Set(const std::string& name, SetValueType value) const; + void SetPersistentSettingAsInt(const std::string& key, int value) const; + + int GetPersistentSettingAsInt(const std::string& key, + int default_setting) const; + DEFINE_WRAPPABLE_TYPE(H5vccSettings); private: diff --git a/cobalt/h5vcc/h5vcc_settings.idl b/cobalt/h5vcc/h5vcc_settings.idl index 34650a9d1f63..703e483897c4 100644 --- a/cobalt/h5vcc/h5vcc_settings.idl +++ b/cobalt/h5vcc/h5vcc_settings.idl @@ -14,4 +14,6 @@ interface H5vccSettings { boolean set(DOMString name, (long or DOMString) value); + void setPersistentSettingAsInt(DOMString name, long value); + long getPersistentSettingAsInt(DOMString name, long default_setting); };