14faa1673Sopenharmony_ci/* 24faa1673Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 34faa1673Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 44faa1673Sopenharmony_ci * you may not use this file except in compliance with the License. 54faa1673Sopenharmony_ci * You may obtain a copy of the License at 64faa1673Sopenharmony_ci * 74faa1673Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 84faa1673Sopenharmony_ci * 94faa1673Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 104faa1673Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 114faa1673Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 124faa1673Sopenharmony_ci * See the License for the specific language governing permissions and 134faa1673Sopenharmony_ci * limitations under the License. 144faa1673Sopenharmony_ci */ 154faa1673Sopenharmony_ci 164faa1673Sopenharmony_ci#include "generic_values.h" 174faa1673Sopenharmony_ci 184faa1673Sopenharmony_cinamespace OHOS { 194faa1673Sopenharmony_cinamespace AccessControl { 204faa1673Sopenharmony_cinamespace SandboxManager { 214faa1673Sopenharmony_civoid GenericValues::Put(const std::string &key, int32_t value) 224faa1673Sopenharmony_ci{ 234faa1673Sopenharmony_ci map_.insert(std::make_pair(key, VariantValue(value))); 244faa1673Sopenharmony_ci} 254faa1673Sopenharmony_ci 264faa1673Sopenharmony_civoid GenericValues::Put(const std::string &key, int64_t value) 274faa1673Sopenharmony_ci{ 284faa1673Sopenharmony_ci map_.insert(std::make_pair(key, VariantValue(value))); 294faa1673Sopenharmony_ci} 304faa1673Sopenharmony_ci 314faa1673Sopenharmony_civoid GenericValues::Put(const std::string &key, const std::string &value) 324faa1673Sopenharmony_ci{ 334faa1673Sopenharmony_ci map_.insert(std::make_pair(key, VariantValue(value))); 344faa1673Sopenharmony_ci} 354faa1673Sopenharmony_ci 364faa1673Sopenharmony_civoid GenericValues::Put(const std::string &key, const VariantValue &value) 374faa1673Sopenharmony_ci{ 384faa1673Sopenharmony_ci map_.insert(std::make_pair(key, value)); 394faa1673Sopenharmony_ci} 404faa1673Sopenharmony_ci 414faa1673Sopenharmony_ciVariantValue GenericValues::Get(const std::string &key) const 424faa1673Sopenharmony_ci{ 434faa1673Sopenharmony_ci auto iter = map_.find(key); 444faa1673Sopenharmony_ci if (iter == map_.end()) { 454faa1673Sopenharmony_ci return VariantValue(); 464faa1673Sopenharmony_ci } 474faa1673Sopenharmony_ci return iter->second; 484faa1673Sopenharmony_ci} 494faa1673Sopenharmony_ci 504faa1673Sopenharmony_ciint32_t GenericValues::GetInt(const std::string &key) const 514faa1673Sopenharmony_ci{ 524faa1673Sopenharmony_ci auto it = map_.find(key); 534faa1673Sopenharmony_ci if (it == map_.end()) { 544faa1673Sopenharmony_ci return VariantValue::DEFAULT_VALUE; 554faa1673Sopenharmony_ci } 564faa1673Sopenharmony_ci return it->second.GetInt(); 574faa1673Sopenharmony_ci} 584faa1673Sopenharmony_ci 594faa1673Sopenharmony_ciint64_t GenericValues::GetInt64(const std::string &key) const 604faa1673Sopenharmony_ci{ 614faa1673Sopenharmony_ci auto it = map_.find(key); 624faa1673Sopenharmony_ci if (it == map_.end()) { 634faa1673Sopenharmony_ci return VariantValue::DEFAULT_VALUE; 644faa1673Sopenharmony_ci } 654faa1673Sopenharmony_ci return it->second.GetInt64(); 664faa1673Sopenharmony_ci} 674faa1673Sopenharmony_ci 684faa1673Sopenharmony_cistd::string GenericValues::GetString(const std::string &key) const 694faa1673Sopenharmony_ci{ 704faa1673Sopenharmony_ci auto it = map_.find(key); 714faa1673Sopenharmony_ci if (it == map_.end()) { 724faa1673Sopenharmony_ci return std::string(); 734faa1673Sopenharmony_ci } 744faa1673Sopenharmony_ci return it->second.GetString(); 754faa1673Sopenharmony_ci} 764faa1673Sopenharmony_ci 774faa1673Sopenharmony_cistd::vector<std::string> GenericValues::GetAllKeys() const 784faa1673Sopenharmony_ci{ 794faa1673Sopenharmony_ci std::vector<std::string> keys; 804faa1673Sopenharmony_ci for (auto it = map_.begin(); it != map_.end(); ++it) { 814faa1673Sopenharmony_ci keys.emplace_back(it->first); 824faa1673Sopenharmony_ci } 834faa1673Sopenharmony_ci return keys; 844faa1673Sopenharmony_ci} 854faa1673Sopenharmony_ci 864faa1673Sopenharmony_civoid GenericValues::Remove(const std::string &key) 874faa1673Sopenharmony_ci{ 884faa1673Sopenharmony_ci if (map_.count(key) > 0) { 894faa1673Sopenharmony_ci map_.erase(key); 904faa1673Sopenharmony_ci } 914faa1673Sopenharmony_ci} 924faa1673Sopenharmony_ci} // namespace SandboxManager 934faa1673Sopenharmony_ci} // namespace AccessControl 944faa1673Sopenharmony_ci} // namespace OHOS 95