X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fapp.hpp;h=0e38bc0cf162228ae5c17f0f4e7b9fc28633ae33;hb=3a0a0018eec4a3a2cbcb34cf2f2033f86e6f9504;hp=397548a91d2ea3473fb64d1160793ceb707f2273;hpb=54c34361d08386c751897ee215554c9ea1efd108;p=staging%2Fwindowmanager.git diff --git a/src/app.hpp b/src/app.hpp index 397548a..0e38bc0 100644 --- a/src/app.hpp +++ b/src/app.hpp @@ -6,27 +6,50 @@ #define TMCAGLWM_APP_HPP #include +#include +#include "afb_binding_api.hpp" #include "result.hpp" -#include "afb_api.hpp" +#include "wayland.hpp" +#include "layout.hpp" +#include "controller_hooks.hpp" namespace wl { - struct display; +struct display; } + namespace genivi { - struct controller; +struct controller; } namespace wm { - struct App { - struct binding_api api; - struct wl::display *display; - struct genivi::controller *controller; +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; + + App(wl::display *d); + ~App(); + + App(App const &) = delete; + App &operator=(App const &) = delete; + + int init(); + int dispatch_events(); + int init_layout(); - App(); - }; + 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