mirror of
https://github.com/openharmony/ability_ability_runtime.git
synced 2026-08-24 22:21:36 -04:00
0b8e72f85c
Signed-off-by: liuzongze <liuzongze@huawei.com> Change-Id: I328fbd6c28acf51cb03cc7b8075bb3227272d2f1
128 lines
4.2 KiB
C++
128 lines
4.2 KiB
C++
/*
|
|
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
#ifndef FOUNDATION_ABILITY_RUNTIME_SIMULATOR_COMMON_CONFIGURATION_H
|
|
#define FOUNDATION_ABILITY_RUNTIME_SIMULATOR_COMMON_CONFIGURATION_H
|
|
|
|
#include <mutex>
|
|
#include <set>
|
|
#include <string>
|
|
#include <algorithm>
|
|
#include <unordered_map>
|
|
#include <vector>
|
|
|
|
namespace OHOS {
|
|
namespace AAFwk {
|
|
namespace GlobalConfigurationKey {
|
|
/* For the time being, there is no uniform standard */
|
|
/* Must be synchronized with the keystore(SystemConfigurationKeyStore)in the configuration */
|
|
constexpr const char* SYSTEM_LANGUAGE = "ohos.system.language";
|
|
constexpr const char* SYSTEM_HOUR = "ohos.system.hour";
|
|
constexpr const char* SYSTEM_COLORMODE = "ohos.system.colorMode";
|
|
constexpr const char* INPUT_POINTER_DEVICE = "input.pointer.device";
|
|
constexpr const char* DEVICE_TYPE = "const.build.characteristics";
|
|
} // namespace GlobalConfigurationKey
|
|
} // namespace AAFwk
|
|
|
|
namespace AppExecFwk {
|
|
namespace ConfigurationInner {
|
|
constexpr const char* CONNECTION_SYMBOL = "#";
|
|
constexpr const char* EMPTY_STRING = "";
|
|
constexpr const char* APPLICATION_DIRECTION = "ohos.application.direction";
|
|
constexpr const char* APPLICATION_DENSITYDPI = "ohos.application.densitydpi";
|
|
constexpr const char* APPLICATION_DISPLAYID = "ohos.application.displayid";
|
|
constexpr const char* APPLICATION_FONT = "ohos.application.font";
|
|
|
|
constexpr const char* COLOR_MODE_LIGHT = "light";
|
|
constexpr const char* COLOR_MODE_DARK = "dark";
|
|
constexpr const char* DEVICE_TYPE_DEFAULT = "default";
|
|
constexpr const char* DIRECTION_VERTICAL = "vertical";
|
|
constexpr const char* DIRECTION_HORIZONTAL = "horizontal";
|
|
};
|
|
|
|
class Configuration {
|
|
public:
|
|
Configuration()
|
|
{
|
|
AddItem(AppExecFwk::ConfigurationInner::APPLICATION_DISPLAYID, "0");
|
|
AddItem(AAFwk::GlobalConfigurationKey::INPUT_POINTER_DEVICE, "true");
|
|
}
|
|
|
|
Configuration(const Configuration &other)
|
|
{
|
|
configParameter_.clear();
|
|
configParameter_ = other.configParameter_;
|
|
}
|
|
|
|
Configuration& operator=(const Configuration &other)
|
|
{
|
|
if (this == &other) {
|
|
return *this;
|
|
}
|
|
|
|
configParameter_.clear();
|
|
configParameter_ = other.configParameter_;
|
|
return *this;
|
|
}
|
|
|
|
~Configuration() {}
|
|
|
|
/**
|
|
* @brief obtain the value according to the display number and storage key.
|
|
*
|
|
* @param key The key of the item to access configura. ej : key = GlobalConfigurationKey::SYSTEM_LANGUAGE
|
|
* Means you want to change the language part
|
|
* @param value Changed value
|
|
* @return return true if the deposit is successful, otherwise return false
|
|
*/
|
|
bool AddItem(const std::string &key, const std::string &value)
|
|
{
|
|
if (key.empty() || value.empty()) {
|
|
return false;
|
|
}
|
|
|
|
configParameter_[key] = value;
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* @brief obtain the value according to the display number and storage key.
|
|
*
|
|
* @param key The key of the item to access configura. ej : key = GlobalConfigurationKey::SYSTEM_LANGUAGE
|
|
* Means you want to change the language part
|
|
*
|
|
* @return return empty string if not found | return val if found
|
|
*/
|
|
std::string GetItem(const std::string &key) const
|
|
{
|
|
if (key.empty()) {
|
|
return ConfigurationInner::EMPTY_STRING;
|
|
}
|
|
|
|
auto iter = configParameter_.find(key);
|
|
if (iter != configParameter_.end()) {
|
|
return iter->second;
|
|
}
|
|
|
|
return ConfigurationInner::EMPTY_STRING;
|
|
}
|
|
|
|
private:
|
|
std::unordered_map<std::string, std::string> configParameter_;
|
|
};
|
|
} // namespace AppExecFwk
|
|
} // namespace OHOS
|
|
#endif // FOUNDATION_ABILITY_RUNTIME_SIMULATOR_COMMON_CONFIGURATION_H
|