layers: rename surface_id_to_layer and surface_id_to_layer_map
[staging/windowmanager.git] / src / app.hpp
index 4e1c4ff..7b9164f 100644 (file)
@@ -9,6 +9,9 @@
 #include <memory>
 
 #include "afb_binding_api.hpp"
+#include "controller_hooks.hpp"
+#include "layers.hpp"
+#include "layout.hpp"
 #include "result.hpp"
 #include "wayland.hpp"
 
@@ -24,6 +27,7 @@ namespace wm {
 
 struct App {
    struct binding_api api;
+   struct controller_hooks chooks;
 
    // This is the one thing, we do not own.
    struct wl::display *display;
@@ -31,11 +35,21 @@ struct App {
    std::unique_ptr<struct genivi::controller> controller;
    std::vector<std::unique_ptr<struct wl::output>> outputs;
 
+   layouts_type layouts;
+   layer_map layers;
+
    App(wl::display *d);
+   ~App();
+
+   App(App const &) = delete;
+   App &operator=(App const &) = delete;
 
    int init();
    int dispatch_events();
    int init_layout();
+
+   void surface_created(uint32_t surface_id);
+   void surface_removed(uint32_t surface_id);
 };
 
 }  // namespace wm