summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-07-24 11:42:54 +0200
committerMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-08-08 17:24:00 +0200
commitf0e3d51ee7adb54cd31f0625a71c86995cf0760f (patch)
tree5db9b7cb310b35e60ef81611463aeb67c257b80a
parent9ce5644a2350f8acbf606b2ee1073727578111ee (diff)
wayland: add display::add_global_handler which forwards to registry
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
-rw-r--r--src/app.cpp18
-rw-r--r--src/wayland.hpp5
2 files changed, 14 insertions, 9 deletions
diff --git a/src/app.cpp b/src/app.cpp
index 29b28b5..ed17107 100644
--- a/src/app.cpp
+++ b/src/app.cpp
@@ -31,21 +31,21 @@ int App::init() {
return -1;
}
- this->display->r.add_global_handler(
- "wl_output", [](wl_registry *r, uint32_t name, uint32_t v) {
- g_app->outputs.emplace_back(std::make_unique<wl::output>(r, name, v));
+ this->display->add_global_handler(
+ "wl_output", [this](wl_registry *r, uint32_t name, uint32_t v) {
+ this->outputs.emplace_back(std::make_unique<wl::output>(r, name, v));
});
- this->display->r.add_global_handler(
- "ivi_controller", [](wl_registry *r, uint32_t name, uint32_t v) {
- g_app->controller = std::make_unique<genivi::controller>(r, name, v);
+ this->display->add_global_handler(
+ "ivi_controller", [this](wl_registry *r, uint32_t name, uint32_t v) {
+ this->controller = std::make_unique<genivi::controller>(r, name, v);
// XXX: This protocol needs the output, so lets just add our mapping
// here...
- g_app->controller->add_proxy_to_id_mapping(
- g_app->outputs.back()->proxy.get(),
+ this->controller->add_proxy_to_id_mapping(
+ this->outputs.back()->proxy.get(),
wl_proxy_get_id(reinterpret_cast<struct wl_proxy *>(
- g_app->outputs.back()->proxy.get())));
+ this->outputs.back()->proxy.get())));
});
// First level objects
diff --git a/src/wayland.hpp b/src/wayland.hpp
index 3b81e15..e2a1259 100644
--- a/src/wayland.hpp
+++ b/src/wayland.hpp
@@ -76,6 +76,11 @@ struct display {
void flush();
int get_fd() const;
int get_error();
+
+ // Lets just proxy this for the registry
+ inline void add_global_handler(char const *iface, registry::binder bind) {
+ this->r.add_global_handler(iface, bind);
+ }
};
// _ _