diff options
Diffstat (limited to 'src/wm_config.cpp')
-rw-r--r-- | src/wm_config.cpp | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/src/wm_config.cpp b/src/wm_config.cpp new file mode 100644 index 0000000..f91fedd --- /dev/null +++ b/src/wm_config.cpp @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2017 TOYOTA MOTOR CORPORATION + * + * 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. + */ + +#include "../include/hmi-debug.h" +#include "json_helper.hpp" +#include "wm_config.hpp" + +using std::string; + +namespace wm +{ + +WMConfig::WMConfig(){} + +WMConfig::~WMConfig() +{ + json_object_put(j_setting_conf); +} + +WMError WMConfig::loadConfigs() +{ + WMError ret; + char const *pRoot = getenv("AFM_APP_INSTALL_DIR"); + string root_path = pRoot; + if (root_path.length() == 0) + { + HMI_ERROR("wm", "AFM_APP_INSTALL_DIR is not defined"); + } + ret = this->loadSetting(root_path); + + return ret; +} + +const string WMConfig::getConfigAspect() +{ + json_object *j; + string ret; + if (!json_object_object_get_ex(this->j_setting_conf, "settings", &j)) + { + ret = "aspect_fit"; + } + else + { + const char* scaling = jh::getStringFromJson(j, "scaling"); + if(scaling == nullptr) + { + ret = "aspect_fit"; + } + else + { + ret = scaling; + } + } + return ret; +} + +/* + ***** Private Functions ***** + */ + +WMError WMConfig::loadSetting(const string &path) +{ + string setting_path = path; + int iret = -1; + WMError ret = SUCCESS; + + if (setting_path.length() != 0) + { + setting_path = path + string("/etc/setting.json"); + iret = jh::inputJsonFilie(setting_path.c_str(), &this->j_setting_conf); + if (iret < 0) + ret = FAIL; + } + + return ret; +} + +} // namespace wm |