aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-08-20 18:35:53 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-08-20 18:35:53 +0900
commit27e4f2d7810666d86bcb525d0e7e513e70c5f021 (patch)
tree62ae812335ebc4fee0d63086e1ae29f1b52b84bc
parentc22f1a8f722b2249d62bfebb0a035556aa84b0cd (diff)
Add initialize of Layout Manager
Layout Manager is not suitable in this case... but this name is set be architecture... Change-Id: Ia1612f243dcae2af229357cc982918b2b5ea7d7d Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
-rw-r--r--src/CMakeLists.txt4
-rw-r--r--src/layers.hpp48
-rw-r--r--src/window_manager.cpp14
-rw-r--r--src/window_manager.hpp3
4 files changed, 12 insertions, 57 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 3c8da4c..b1597b7 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -38,7 +38,9 @@ add_library(${TARGETS_WM} MODULE
wm_error.cpp
applist.cpp
request.cpp
- pm_wrapper.cpp)
+ pm_wrapper.cpp
+ wm_layer.cpp
+ layout_manager.cpp)
target_include_directories(${TARGETS_WM}
PRIVATE
diff --git a/src/layers.hpp b/src/layers.hpp
index 6d0dcf2..f52886e 100644
--- a/src/layers.hpp
+++ b/src/layers.hpp
@@ -65,54 +65,6 @@ struct layer
json to_json() const;
};
-/*
- * WMLayer is the logical container of application/system application(such like HomeScreen)
- * This is handled by Window Manager to classify the application.
- */
-class WMLayer
-{
- public:
- enum MANAGEMENT_TYPE
- {
- TILE,
- STACK
- };
-
- explicit WMLayer(const std::string& name, MANAGEMENT_TYPE type, unsigned begin, unsigned end);
- virtual ~WMLayer();
-
- const std::string& layerName();
- MANAGEMENT_TYPE layerType();
- void appendRole(const std::string& name);
- void appendArea(const std::string& area);
-
-/* unsigned getNewID(const std::string& role);
- void remove(unsigned ivi_layer_id);
- void clear();
- bool attach(unsigned ivi_layer_id, const std::string& area);
- void stack(unsigned ivi_layer_id, const std::string& area);
- bool updateRenderOrder(const std::vector<unsigned> list); */
-
- private:
- std::string _name = ""; // Layer name
- MANAGEMENT_TYPE _type;
- std::vector<std::string> _roles;
- unsigned _id_begin;
- unsigned _id_end;
- // current holding apps. This dynamically changes.
- std::vector<unsigned> _ivi_layer_id_list;
- // std::map<std::string, unsigned> _render_order;
-};
-
-class LayerManager
-{
- public:
- void setRenderOrder(const std::vector<unsigned> layer_render_order);
- std::vector<unsigned> getAllRenderOrder();
- std::vector<std::shared_ptr<WMLayer>>& getAllLayers();
- std::vector<unsigned> getRenderOrder(const std::string& layer_name);
-};
-
struct layer_map
{
using json = nlohmann::json;
diff --git a/src/window_manager.cpp b/src/window_manager.cpp
index 4e41d40..bb8b073 100644
--- a/src/window_manager.cpp
+++ b/src/window_manager.cpp
@@ -126,19 +126,19 @@ WindowManager::WindowManager(wl::display *d)
id_alloc{},
pending_events(false)
{
- char const *path_layers_json = getenv("AFM_APP_INSTALL_DIR");
- string path;
- if (!path_layers_json)
+ const char *path = getenv("AFM_APP_INSTALL_DIR");
+ string lm_setting_path = path;
+ if (!path)
{
HMI_ERROR("wm", "AFM_APP_INSTALL_DIR is not defined");
- path = string(path_layers_json);
}
else
{
- path = string(path_layers_json) + string("/etc/layers.json");
+ lm_setting_path += "/etc/layers_setting.json";
}
+ this->lm = std::make_shared<LayoutManager>(lm_setting_path);
- try
+/* try
{
{
auto l = load_layer_map(path.c_str());
@@ -155,7 +155,7 @@ WindowManager::WindowManager(wl::display *d)
catch (std::exception &e)
{
HMI_ERROR("wm", "Loading of configuration failed: %s", e.what());
- }
+ } */
}
int WindowManager::init()
diff --git a/src/window_manager.hpp b/src/window_manager.hpp
index aa1b4cc..d77d23a 100644
--- a/src/window_manager.hpp
+++ b/src/window_manager.hpp
@@ -29,6 +29,7 @@
#include "hmi-debug.h"
#include "request.hpp"
#include "wm_error.hpp"
+#include "layout_manager.hpp"
struct json_object;
@@ -280,7 +281,7 @@ class WindowManager
std::unordered_map<std::string, struct compositor::rect> area2size;
std::unordered_map<std::string, std::string> roleold2new;
std::unordered_map<std::string, std::string> rolenew2old;
-
+ std::shared_ptr<LayoutManager> lm;
PMWrapper pmw;
static const char* kDefaultOldRoleDb;