1365d9939Sopenharmony_ci/* 2365d9939Sopenharmony_ci * Copyright (C) 2024 Huawei Device Co., Ltd. 3365d9939Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4365d9939Sopenharmony_ci * you may not use this file except in compliance with the License. 5365d9939Sopenharmony_ci * You may obtain a copy of the License at 6365d9939Sopenharmony_ci * 7365d9939Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8365d9939Sopenharmony_ci * 9365d9939Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10365d9939Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11365d9939Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12365d9939Sopenharmony_ci * See the License for the specific language governing permissions and 13365d9939Sopenharmony_ci * limitations under the License. 14365d9939Sopenharmony_ci */ 15365d9939Sopenharmony_ci 16365d9939Sopenharmony_ci#include "preferences_util.h" 17365d9939Sopenharmony_ci 18365d9939Sopenharmony_ci#include "preferences.h" 19365d9939Sopenharmony_ci#include "preferences_helper.h" 20365d9939Sopenharmony_ci#include "preferences_observer.h" 21365d9939Sopenharmony_ci#include "string" 22365d9939Sopenharmony_ci 23365d9939Sopenharmony_cinamespace OHOS { 24365d9939Sopenharmony_cinamespace ScreenLock { 25365d9939Sopenharmony_ciPreferencesUtil::PreferencesUtil() {} 26365d9939Sopenharmony_ciPreferencesUtil::~PreferencesUtil() {} 27365d9939Sopenharmony_ci 28365d9939Sopenharmony_cistd::shared_ptr<NativePreferences::Preferences> PreferencesUtil::GetProfiles(const std::string &path, int &errCode) 29365d9939Sopenharmony_ci{ 30365d9939Sopenharmony_ci return NativePreferences::PreferencesHelper::GetPreferences(path, errCode); 31365d9939Sopenharmony_ci} 32365d9939Sopenharmony_ci 33365d9939Sopenharmony_ciint PreferencesUtil::DeleteProfiles() 34365d9939Sopenharmony_ci{ 35365d9939Sopenharmony_ci return NativePreferences::PreferencesHelper::DeletePreferences(path_); 36365d9939Sopenharmony_ci} 37365d9939Sopenharmony_ci 38365d9939Sopenharmony_ciint PreferencesUtil::SaveString(const std::string &key, const std::string &value) 39365d9939Sopenharmony_ci{ 40365d9939Sopenharmony_ci std::shared_ptr<NativePreferences::Preferences> ptr = GetProfiles(path_, errCode_); 41365d9939Sopenharmony_ci if (ptr == nullptr) { 42365d9939Sopenharmony_ci return NativePreferences::E_ERROR; 43365d9939Sopenharmony_ci } 44365d9939Sopenharmony_ci int ret = ptr->PutString(key, value); 45365d9939Sopenharmony_ci ptr->Flush(); 46365d9939Sopenharmony_ci return ret; 47365d9939Sopenharmony_ci} 48365d9939Sopenharmony_ci 49365d9939Sopenharmony_cistd::string PreferencesUtil::ObtainString(const std::string &key, const std::string &defValue) 50365d9939Sopenharmony_ci{ 51365d9939Sopenharmony_ci std::shared_ptr<NativePreferences::Preferences> ptr = GetProfiles(path_, errCode_); 52365d9939Sopenharmony_ci if (ptr == nullptr) { 53365d9939Sopenharmony_ci return defValue; 54365d9939Sopenharmony_ci } 55365d9939Sopenharmony_ci return ptr->GetString(key, defValue); 56365d9939Sopenharmony_ci} 57365d9939Sopenharmony_ci 58365d9939Sopenharmony_ciint PreferencesUtil::SaveInt(const std::string &key, int value) 59365d9939Sopenharmony_ci{ 60365d9939Sopenharmony_ci std::shared_ptr<NativePreferences::Preferences> ptr = GetProfiles(path_, errCode_); 61365d9939Sopenharmony_ci if (ptr == nullptr) { 62365d9939Sopenharmony_ci return NativePreferences::E_ERROR; 63365d9939Sopenharmony_ci } 64365d9939Sopenharmony_ci int ret = ptr->PutInt(key, value); 65365d9939Sopenharmony_ci ptr->Flush(); 66365d9939Sopenharmony_ci return ret; 67365d9939Sopenharmony_ci} 68365d9939Sopenharmony_ci 69365d9939Sopenharmony_ciint PreferencesUtil::ObtainInt(const std::string &key, int defValue) 70365d9939Sopenharmony_ci{ 71365d9939Sopenharmony_ci std::shared_ptr<NativePreferences::Preferences> ptr = GetProfiles(path_, errCode_); 72365d9939Sopenharmony_ci if (ptr == nullptr) { 73365d9939Sopenharmony_ci return defValue; 74365d9939Sopenharmony_ci } 75365d9939Sopenharmony_ci return ptr->GetInt(key, defValue); 76365d9939Sopenharmony_ci} 77365d9939Sopenharmony_ci 78365d9939Sopenharmony_ciint PreferencesUtil::SaveBool(const std::string &key, bool value) 79365d9939Sopenharmony_ci{ 80365d9939Sopenharmony_ci std::shared_ptr<NativePreferences::Preferences> ptr = GetProfiles(path_, errCode_); 81365d9939Sopenharmony_ci if (ptr == nullptr) { 82365d9939Sopenharmony_ci return NativePreferences::E_ERROR; 83365d9939Sopenharmony_ci } 84365d9939Sopenharmony_ci int ret = ptr->PutBool(key, value); 85365d9939Sopenharmony_ci ptr->Flush(); 86365d9939Sopenharmony_ci return ret; 87365d9939Sopenharmony_ci} 88365d9939Sopenharmony_ci 89365d9939Sopenharmony_cibool PreferencesUtil::ObtainBool(const std::string &key, bool defValue) 90365d9939Sopenharmony_ci{ 91365d9939Sopenharmony_ci std::shared_ptr<NativePreferences::Preferences> ptr = GetProfiles(path_, errCode_); 92365d9939Sopenharmony_ci if (ptr == nullptr) { 93365d9939Sopenharmony_ci return defValue; 94365d9939Sopenharmony_ci } 95365d9939Sopenharmony_ci return ptr->GetBool(key, defValue); 96365d9939Sopenharmony_ci} 97365d9939Sopenharmony_ci 98365d9939Sopenharmony_ciint PreferencesUtil::SaveLong(const std::string &key, int64_t value) 99365d9939Sopenharmony_ci{ 100365d9939Sopenharmony_ci std::shared_ptr<NativePreferences::Preferences> ptr = GetProfiles(path_, errCode_); 101365d9939Sopenharmony_ci if (ptr == nullptr) { 102365d9939Sopenharmony_ci return NativePreferences::E_ERROR; 103365d9939Sopenharmony_ci } 104365d9939Sopenharmony_ci int ret = ptr->PutLong(key, value); 105365d9939Sopenharmony_ci ptr->Flush(); 106365d9939Sopenharmony_ci return ret; 107365d9939Sopenharmony_ci} 108365d9939Sopenharmony_ci 109365d9939Sopenharmony_ciint64_t PreferencesUtil::ObtainLong(const std::string &key, int64_t defValue) 110365d9939Sopenharmony_ci{ 111365d9939Sopenharmony_ci std::shared_ptr<NativePreferences::Preferences> ptr = GetProfiles(path_, errCode_); 112365d9939Sopenharmony_ci if (ptr == nullptr) { 113365d9939Sopenharmony_ci return defValue; 114365d9939Sopenharmony_ci } 115365d9939Sopenharmony_ci return ptr->GetLong(key, defValue); 116365d9939Sopenharmony_ci} 117365d9939Sopenharmony_ci 118365d9939Sopenharmony_ciint PreferencesUtil::SaveFloat(const std::string &key, float value) 119365d9939Sopenharmony_ci{ 120365d9939Sopenharmony_ci std::shared_ptr<NativePreferences::Preferences> ptr = GetProfiles(path_, errCode_); 121365d9939Sopenharmony_ci if (ptr == nullptr) { 122365d9939Sopenharmony_ci return NativePreferences::E_ERROR; 123365d9939Sopenharmony_ci } 124365d9939Sopenharmony_ci int ret = ptr->PutFloat(key, value); 125365d9939Sopenharmony_ci ptr->Flush(); 126365d9939Sopenharmony_ci return ret; 127365d9939Sopenharmony_ci} 128365d9939Sopenharmony_ci 129365d9939Sopenharmony_cifloat PreferencesUtil::ObtainFloat(const std::string &key, float defValue) 130365d9939Sopenharmony_ci{ 131365d9939Sopenharmony_ci std::shared_ptr<NativePreferences::Preferences> ptr = GetProfiles(path_, errCode_); 132365d9939Sopenharmony_ci if (ptr == nullptr) { 133365d9939Sopenharmony_ci return defValue; 134365d9939Sopenharmony_ci } 135365d9939Sopenharmony_ci return ptr->GetFloat(key, defValue); 136365d9939Sopenharmony_ci} 137365d9939Sopenharmony_ci 138365d9939Sopenharmony_cibool PreferencesUtil::IsExistKey(const std::string &key) 139365d9939Sopenharmony_ci{ 140365d9939Sopenharmony_ci std::shared_ptr<NativePreferences::Preferences> ptr = GetProfiles(path_, errCode_); 141365d9939Sopenharmony_ci if (ptr == nullptr) { 142365d9939Sopenharmony_ci return NativePreferences::E_ERROR; 143365d9939Sopenharmony_ci } 144365d9939Sopenharmony_ci return ptr->HasKey(key); 145365d9939Sopenharmony_ci} 146365d9939Sopenharmony_ci 147365d9939Sopenharmony_ciint PreferencesUtil::RemoveKey(const std::string &key) 148365d9939Sopenharmony_ci{ 149365d9939Sopenharmony_ci std::shared_ptr<NativePreferences::Preferences> ptr = GetProfiles(path_, errCode_); 150365d9939Sopenharmony_ci if (ptr == nullptr) { 151365d9939Sopenharmony_ci return NativePreferences::E_ERROR; 152365d9939Sopenharmony_ci } 153365d9939Sopenharmony_ci return ptr->Delete(key); 154365d9939Sopenharmony_ci} 155365d9939Sopenharmony_ci 156365d9939Sopenharmony_ciint PreferencesUtil::RemoveAll() 157365d9939Sopenharmony_ci{ 158365d9939Sopenharmony_ci std::shared_ptr<NativePreferences::Preferences> ptr = GetProfiles(path_, errCode_); 159365d9939Sopenharmony_ci if (ptr == nullptr) { 160365d9939Sopenharmony_ci return NativePreferences::E_ERROR; 161365d9939Sopenharmony_ci } 162365d9939Sopenharmony_ci return ptr->Clear(); 163365d9939Sopenharmony_ci} 164365d9939Sopenharmony_ci 165365d9939Sopenharmony_civoid PreferencesUtil::Refresh() 166365d9939Sopenharmony_ci{ 167365d9939Sopenharmony_ci std::shared_ptr<NativePreferences::Preferences> ptr = GetProfiles(path_, errCode_); 168365d9939Sopenharmony_ci if (ptr != nullptr) { 169365d9939Sopenharmony_ci ptr->Flush(); 170365d9939Sopenharmony_ci } 171365d9939Sopenharmony_ci} 172365d9939Sopenharmony_ci 173365d9939Sopenharmony_ciint PreferencesUtil::RefreshSync() 174365d9939Sopenharmony_ci{ 175365d9939Sopenharmony_ci std::shared_ptr<NativePreferences::Preferences> ptr = GetProfiles(path_, errCode_); 176365d9939Sopenharmony_ci if (ptr == nullptr) { 177365d9939Sopenharmony_ci return NativePreferences::E_ERROR; 178365d9939Sopenharmony_ci } 179365d9939Sopenharmony_ci return ptr->FlushSync(); 180365d9939Sopenharmony_ci} 181365d9939Sopenharmony_ci} // namespace Telephony 182365d9939Sopenharmony_ci} // namespace OHOS