app: use config to determine json config file names
[staging/windowmanager.git] / src / app.hpp
index 172e688..5bbd2db 100644 (file)
@@ -9,8 +9,12 @@
 #include <memory>
 
 #include "afb_binding_api.hpp"
+#include "controller_hooks.hpp"
+#include "layers.hpp"
+#include "layout.hpp"
 #include "result.hpp"
 #include "wayland.hpp"
+#include "config.hpp"
 
 namespace wl {
 struct display;
@@ -24,6 +28,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,6 +36,11 @@ struct App {
    std::unique_ptr<struct genivi::controller> controller;
    std::vector<std::unique_ptr<struct wl::output>> outputs;
 
+   struct config config;
+
+   layouts_type layouts;
+   layer_map layers;
+
    App(wl::display *d);
    ~App();
 
@@ -40,6 +50,9 @@ struct App {
    int init();
    int dispatch_events();
    int init_layout();
+
+   void surface_created(uint32_t surface_id);
+   void surface_removed(uint32_t surface_id);
 };
 
 }  // namespace wm