Update windowmanager
[apps/agl-service-windowmanager.git] / src / window_manager.hpp
index 7591357..afafeb1 100644 (file)
 #include <unordered_map>
 #include <experimental/optional>
 #include "controller_hooks.hpp"
-#include "layers.hpp"
-#include "layout.hpp"
-#include "wayland_ivi_wm.hpp"
+//#include "layers.hpp"
+// #include "layout.hpp"
+//#include "wayland_ivi_wm.hpp"
+#include "result.hpp"
 #include "pm_wrapper.hpp"
 #include "util.hpp"
 #include "request.hpp"
@@ -145,7 +146,7 @@ struct id_allocator
 class WindowManager
 {
   public:
-    typedef std::unordered_map<uint32_t, struct compositor::rect> rect_map;
+    typedef std::unordered_map<uint32_t, struct rect> rect_map;
     typedef std::function<void(const char *err_msg)> reply_func;
 
     enum EventType
@@ -180,21 +181,9 @@ class WindowManager
 
     struct controller_hooks chooks;
 
-    // This is the one thing, we do not own.
-    struct wl::display *display;
-
-    std::unique_ptr<struct compositor::controller> controller;
-    std::vector<std::unique_ptr<struct wl::output>> outputs;
-
-    // track current layouts separately
-    layer_map layers;
-
     // ID allocation and proxy methods for lookup
     struct id_allocator id_alloc;
 
-    // Set by AFB API when wayland events need to be dispatched
-    std::atomic<bool> pending_events;
-
     std::map<const char *, struct afb_event> map_afb_event;
 
     // Surface are info (x, y, w, h)
@@ -203,7 +192,7 @@ class WindowManager
     // FOR CES DEMO
     std::vector<int> surface_bg;
 
-    explicit WindowManager(wl::display *d);
+    explicit WindowManager();
     ~WindowManager() = default;
 
     WindowManager(WindowManager const &) = delete;
@@ -212,8 +201,6 @@ class WindowManager
     WindowManager &operator=(WindowManager &&) = delete;
 
     int init();
-    int dispatch_pending_events();
-    void set_pending_events();
 
     result<int> api_request_surface(char const *appid, char const *role);
     char const *api_request_surface(char const *appid, char const *role, char const *ivi_id);
@@ -242,7 +229,6 @@ class WindowManager
     void processError(WMError error);
 
   private:
-    bool pop_pending_events();
     optional<int> lookup_id(char const *name);
     optional<std::string> lookup_name(int id);
     int init_layers();
@@ -282,10 +268,10 @@ class WindowManager
     const char *check_surface_exist(const char *role);
 
   private:
-    std::unordered_map<std::string, struct compositor::rect> area2size;
+    std::unordered_map<std::string, struct rect> area2size;
     std::unordered_map<std::string, std::string> roleold2new;
     std::unordered_map<std::string, std::string> rolenew2old;
-    std::shared_ptr<LayerControl> lm;
+    std::shared_ptr<LayerControl> lc;
     PMWrapper pmw;
 
     static const char* kDefaultOldRoleDb;