- struct App {
- struct binding_api api;
- struct wl::display *display;
- struct genivi::controller *controller;
+struct App {
+ struct binding_api api;
+
+ // 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;
+
+ App(wl::display *d);
+ ~App();
+
+ App(App const &) = delete;
+ App &operator=(App const &) = delete;