diff options
author | Scott Murray <scott.murray@konsulko.com> | 2018-12-06 10:05:47 -0500 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2018-12-07 09:15:24 -0500 |
commit | 24794d197e6d27fbfba9790be1da190fe573a058 (patch) | |
tree | 7d506a9a319fdf3823fab40c5e37825c60e69430 /policy_manager | |
parent | 6a20800629fca350b00ce71a09ba4d71e2f2ee1d (diff) |
Add configuration file over-ride mechanism
Reusing the windowmanager on the cluster demo platform requires
modifications to the layers.json, areas.db, etc. configuration files.
To allow this without breaking potential shared package feeds by
building two versions, add a mechanism to allow over-riding the
configuration files present in the widget with files in the directory
/etc/xdg/windowmanager. Affected code has been refactored to use a new
common configuration file path determination helper function to reduce
duplication.
Bug-AGL: SPEC-1805
Change-Id: Ia3e1af0703794079f9537b934b124788129c045c
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Diffstat (limited to 'policy_manager')
-rw-r--r-- | policy_manager/CMakeLists.txt | 1 | ||||
-rw-r--r-- | policy_manager/policy_manager.cpp | 31 |
2 files changed, 5 insertions, 27 deletions
diff --git a/policy_manager/CMakeLists.txt b/policy_manager/CMakeLists.txt index 584d311..3ec4c39 100644 --- a/policy_manager/CMakeLists.txt +++ b/policy_manager/CMakeLists.txt @@ -45,6 +45,7 @@ add_library(${TARGETS_PM} SHARED policy_manager.cpp stm/stm.c + ../src/util.cpp ) target_include_directories(${TARGETS_PM} diff --git a/policy_manager/policy_manager.cpp b/policy_manager/policy_manager.cpp index c7bb007..f3d0d4d 100644 --- a/policy_manager/policy_manager.cpp +++ b/policy_manager/policy_manager.cpp @@ -1,5 +1,6 @@ /* * Copyright (c) 2018 TOYOTA MOTOR CORPORATION + * Copyright (c) 2018 Konsulko Group * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +23,7 @@ #include <algorithm> #include <json-c/json.h> #include "policy_manager.hpp" +#include "util.hpp" #include "hmi-debug.h" extern "C" @@ -729,20 +731,7 @@ int PolicyManager::setStateTransitionProcessToSystemd(int event_id, uint64_t del int PolicyManager::loadRoleDb() { - std::string file_name; - - // Get afm application installed dir - char const *afm_app_install_dir = getenv("AFM_APP_INSTALL_DIR"); - HMI_DEBUG("wm:pm", "afm_app_install_dir:%s", afm_app_install_dir); - - if (!afm_app_install_dir) - { - HMI_ERROR("wm:pm", "AFM_APP_INSTALL_DIR is not defined"); - } - else - { - file_name = std::string(afm_app_install_dir) + std::string("/etc/roles.db"); - } + std::string file_name(get_file_path("roles.db", "wm:pm")); // Load roles.db json_object *json_obj; @@ -832,19 +821,7 @@ int PolicyManager::loadStateDb() { HMI_DEBUG("wm:pm", "Call"); - // Get afm application installed dir - char const *afm_app_install_dir = getenv("AFM_APP_INSTALL_DIR"); - HMI_DEBUG("wm:pm", "afm_app_install_dir:%s", afm_app_install_dir); - - std::string file_name; - if (!afm_app_install_dir) - { - HMI_ERROR("wm:pm", "AFM_APP_INSTALL_DIR is not defined"); - } - else - { - file_name = std::string(afm_app_install_dir) + std::string("/etc/states.db"); - } + std::string file_name(get_file_path("states.db", "wm:pm")); // Load states.db json_object *json_obj; |