#include <memory>
#include "afb_binding_api.hpp"
+#include "controller_hooks.hpp"
+#include "layers.hpp"
+#include "layout.hpp"
#include "result.hpp"
#include "wayland.hpp"
-#include "layout.hpp"
+#include "config.hpp"
namespace wl {
struct display;
struct App {
struct binding_api api;
+ struct controller_hooks chooks;
// This is the one thing, we do not own.
struct wl::display *display;
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();
int init();
int dispatch_events();
int init_layout();
+
+ void surface_created(uint32_t surface_id);
+ void surface_removed(uint32_t surface_id);
};
} // namespace wm