- struct connection c {};
-
- d.r.add_global_handler(
- "wl_output", [&c](wl_registry *r, uint32_t name, uint32_t v) {
- c.outputs.emplace_back(std::make_unique<wl::output>(r, name, v));
- });
-
- d.r.add_global_handler(
- "ivi_controller", [&c](wl_registry *r, uint32_t name, uint32_t v) {
- c.c = std::make_unique<genivi::controller>(r, name, v);
-
- // XXX: This protocol needs the output, so lets just add our mapping here...
- c.c->add_proxy_to_id_mapping(c.outputs.back()->proxy.get(),
- wl_proxy_get_id(
- reinterpret_cast<struct wl_proxy *>(
- c.outputs.back()->proxy.get())));
- });
-
- // First level objects
- d.roundtrip();
- // Second level objects
- d.roundtrip();
- // Third level objects
- d.roundtrip();
-
- if (char const *e = init_layout(c)) {
- fatal("Could not init layout: %s", e);
+ g_afb_instance = new afb_instance;
+ if (g_afb_instance->init() == -1) {
+ logerror("Could not connect to compositor");
+ goto error;