1600cc4afSopenharmony_ci/* 2600cc4afSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 3600cc4afSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4600cc4afSopenharmony_ci * you may not use this file except in compliance with the License. 5600cc4afSopenharmony_ci * You may obtain a copy of the License at 6600cc4afSopenharmony_ci * 7600cc4afSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8600cc4afSopenharmony_ci * 9600cc4afSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10600cc4afSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11600cc4afSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12600cc4afSopenharmony_ci * See the License for the specific language governing permissions and 13600cc4afSopenharmony_ci * limitations under the License. 14600cc4afSopenharmony_ci */ 15600cc4afSopenharmony_ci 16600cc4afSopenharmony_ci#include "bms_param.h" 17600cc4afSopenharmony_ci 18600cc4afSopenharmony_ci#include "app_log_wrapper.h" 19600cc4afSopenharmony_ci 20600cc4afSopenharmony_cinamespace OHOS { 21600cc4afSopenharmony_cinamespace AppExecFwk { 22600cc4afSopenharmony_cinamespace { 23600cc4afSopenharmony_ciconst std::string BMS_PARAM_TABLE_NAME = "bms_param"; 24600cc4afSopenharmony_ci} 25600cc4afSopenharmony_ciBmsParam::BmsParam() 26600cc4afSopenharmony_ci{ 27600cc4afSopenharmony_ci APP_LOGD("BmsParam instance is created"); 28600cc4afSopenharmony_ci BmsRdbConfig bmsRdbConfig; 29600cc4afSopenharmony_ci bmsRdbConfig.dbName = ServiceConstants::BUNDLE_RDB_NAME; 30600cc4afSopenharmony_ci bmsRdbConfig.tableName = BMS_PARAM_TABLE_NAME; 31600cc4afSopenharmony_ci rdbDataManager_ = std::make_shared<RdbDataManager>(bmsRdbConfig); 32600cc4afSopenharmony_ci rdbDataManager_->CreateTable(); 33600cc4afSopenharmony_ci} 34600cc4afSopenharmony_ci 35600cc4afSopenharmony_ciBmsParam::~BmsParam() 36600cc4afSopenharmony_ci{ 37600cc4afSopenharmony_ci APP_LOGD("BmsParam instance is destroyed"); 38600cc4afSopenharmony_ci} 39600cc4afSopenharmony_ci 40600cc4afSopenharmony_cibool BmsParam::GetBmsParam(const std::string &key, std::string &value) 41600cc4afSopenharmony_ci{ 42600cc4afSopenharmony_ci if (key.empty()) { 43600cc4afSopenharmony_ci APP_LOGE("key is empty"); 44600cc4afSopenharmony_ci return false; 45600cc4afSopenharmony_ci } 46600cc4afSopenharmony_ci 47600cc4afSopenharmony_ci if (rdbDataManager_ == nullptr) { 48600cc4afSopenharmony_ci APP_LOGE("rdbDataManager is null"); 49600cc4afSopenharmony_ci return false; 50600cc4afSopenharmony_ci } 51600cc4afSopenharmony_ci 52600cc4afSopenharmony_ci return rdbDataManager_->QueryData(key, value); 53600cc4afSopenharmony_ci} 54600cc4afSopenharmony_ci 55600cc4afSopenharmony_cibool BmsParam::SaveBmsParam(const std::string ¶mKeyInfo, const std::string ¶mValueInfo) 56600cc4afSopenharmony_ci{ 57600cc4afSopenharmony_ci if (paramKeyInfo.empty() || paramValueInfo.empty()) { 58600cc4afSopenharmony_ci APP_LOGE("key or value is empty"); 59600cc4afSopenharmony_ci return false; 60600cc4afSopenharmony_ci } 61600cc4afSopenharmony_ci 62600cc4afSopenharmony_ci if (rdbDataManager_ == nullptr) { 63600cc4afSopenharmony_ci APP_LOGE("rdbDataManager is null"); 64600cc4afSopenharmony_ci return false; 65600cc4afSopenharmony_ci } 66600cc4afSopenharmony_ci 67600cc4afSopenharmony_ci return rdbDataManager_->InsertData(paramKeyInfo, paramValueInfo); 68600cc4afSopenharmony_ci} 69600cc4afSopenharmony_ci 70600cc4afSopenharmony_cibool BmsParam::DeleteBmsParam(const std::string &key) 71600cc4afSopenharmony_ci{ 72600cc4afSopenharmony_ci if (key.empty()) { 73600cc4afSopenharmony_ci APP_LOGE("key is empty"); 74600cc4afSopenharmony_ci return false; 75600cc4afSopenharmony_ci } 76600cc4afSopenharmony_ci 77600cc4afSopenharmony_ci if (rdbDataManager_ == nullptr) { 78600cc4afSopenharmony_ci APP_LOGE("rdbDataManager is null"); 79600cc4afSopenharmony_ci return false; 80600cc4afSopenharmony_ci } 81600cc4afSopenharmony_ci 82600cc4afSopenharmony_ci return rdbDataManager_->DeleteData(key); 83600cc4afSopenharmony_ci} 84600cc4afSopenharmony_ci 85600cc4afSopenharmony_ci} // namespace AppExecFwk 86600cc4afSopenharmony_ci} // namespace OHOS