2 // Created by mfritzsc on 7/11/17.
5 #ifndef TMCAGLWM_APP_HPP
6 #define TMCAGLWM_APP_HPP
8 #include <json-c/json.h>
11 #include "afb_binding_api.hpp"
13 #include "wayland.hpp"
15 #include "controller_hooks.hpp"
29 struct binding_api api;
30 struct controller_hooks chooks;
32 // This is the one thing, we do not own.
33 struct wl::display *display;
35 std::unique_ptr<struct genivi::controller> controller;
36 std::vector<std::unique_ptr<struct wl::output>> outputs;
39 surface_id_to_layer_map surface2layer;
44 App(App const &) = delete;
45 App &operator=(App const &) = delete;
48 int dispatch_events();
51 void surface_created(uint32_t surface_id);
52 void surface_removed(uint32_t surface_id);
57 #endif // TMCAGLWM_APP_HPP