X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fapp.hpp;h=247f772d4100a9ba961cbab2b7845f34262fe1c7;hb=d16426164142cdddeaf16cb18a6ac5f191c8e0e4;hp=0fb929dea2d79baeb0250b50382d7fab215d06a8;hpb=1958da2130c04fbcc0bf1da2c40b57c785657e48;p=staging%2Fwindowmanager.git diff --git a/src/app.hpp b/src/app.hpp index 0fb929d..247f772 100644 --- a/src/app.hpp +++ b/src/app.hpp @@ -8,35 +8,50 @@ #include #include -#include "wayland.hpp" -#include "result.hpp" #include "afb_binding_api.hpp" +#include "controller_hooks.hpp" +#include "layers.hpp" +#include "layout.hpp" +#include "result.hpp" +#include "wayland.hpp" namespace wl { - struct display; +struct display; } + namespace genivi { - struct controller; +struct controller; } namespace wm { - struct App { - struct binding_api api; +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 controller; + std::vector> outputs; + + layouts_type layouts; + surface_id_to_layer_map surface2layer; - // This is the one thing, we do not own. - struct wl::display *display; + App(wl::display *d); + ~App(); - std::unique_ptr controller; - std::vector> outputs; + App(App const &) = delete; + App &operator=(App const &) = delete; - App(wl::display *d); + int init(); + int dispatch_events(); + int init_layout(); - int init(); - int dispatch_events(); - int init_layout(); - }; + void surface_created(uint32_t surface_id); + void surface_removed(uint32_t surface_id); +}; -} // namespace wm +} // namespace wm -#endif //TMCAGLWM_APP_HPP +#endif // TMCAGLWM_APP_HPP