1fc0b0055Sopenharmony_ci/* 2fc0b0055Sopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 3fc0b0055Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4fc0b0055Sopenharmony_ci * you may not use this file except in compliance with the License. 5fc0b0055Sopenharmony_ci * You may obtain a copy of the License at 6fc0b0055Sopenharmony_ci * 7fc0b0055Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8fc0b0055Sopenharmony_ci * 9fc0b0055Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10fc0b0055Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11fc0b0055Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12fc0b0055Sopenharmony_ci * See the License for the specific language governing permissions and 13fc0b0055Sopenharmony_ci * limitations under the License. 14fc0b0055Sopenharmony_ci */ 15fc0b0055Sopenharmony_ci 16fc0b0055Sopenharmony_ci#ifndef GENERIC_VALUES_H 17fc0b0055Sopenharmony_ci#define GENERIC_VALUES_H 18fc0b0055Sopenharmony_ci 19fc0b0055Sopenharmony_ci#include <map> 20fc0b0055Sopenharmony_ci#include <vector> 21fc0b0055Sopenharmony_ci#include <string> 22fc0b0055Sopenharmony_ci 23fc0b0055Sopenharmony_ci#include "variant_value.h" 24fc0b0055Sopenharmony_ci 25fc0b0055Sopenharmony_cinamespace OHOS { 26fc0b0055Sopenharmony_cinamespace Security { 27fc0b0055Sopenharmony_cinamespace AccessToken { 28fc0b0055Sopenharmony_ciclass GenericValues final { 29fc0b0055Sopenharmony_cipublic: 30fc0b0055Sopenharmony_ci GenericValues() = default; 31fc0b0055Sopenharmony_ci virtual ~GenericValues() = default; 32fc0b0055Sopenharmony_ci 33fc0b0055Sopenharmony_ci void Put(const std::string& key, int32_t value); 34fc0b0055Sopenharmony_ci 35fc0b0055Sopenharmony_ci void Put(const std::string& key, int64_t value); 36fc0b0055Sopenharmony_ci 37fc0b0055Sopenharmony_ci void Put(const std::string& key, const std::string& value); 38fc0b0055Sopenharmony_ci 39fc0b0055Sopenharmony_ci void Put(const std::string& key, const VariantValue& value); 40fc0b0055Sopenharmony_ci 41fc0b0055Sopenharmony_ci std::vector<std::string> GetAllKeys() const; 42fc0b0055Sopenharmony_ci 43fc0b0055Sopenharmony_ci VariantValue Get(const std::string& key) const; 44fc0b0055Sopenharmony_ci 45fc0b0055Sopenharmony_ci int32_t GetInt(const std::string& key) const; 46fc0b0055Sopenharmony_ci 47fc0b0055Sopenharmony_ci int64_t GetInt64(const std::string& key) const; 48fc0b0055Sopenharmony_ci 49fc0b0055Sopenharmony_ci std::string GetString(const std::string& key) const; 50fc0b0055Sopenharmony_ci 51fc0b0055Sopenharmony_ci void Remove(const std::string& key); 52fc0b0055Sopenharmony_ciprivate: 53fc0b0055Sopenharmony_ci std::map<std::string, VariantValue> map_; 54fc0b0055Sopenharmony_ci}; 55fc0b0055Sopenharmony_ci} // namespace AccessToken 56fc0b0055Sopenharmony_ci} // namespace Security 57fc0b0055Sopenharmony_ci} // namespace OHOS 58fc0b0055Sopenharmony_ci#endif // GENERIC_VALUES_H 59