summaryrefslogtreecommitdiffstats
path: root/src/main.c
diff options
context:
space:
mode:
authorMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-06-07 18:02:36 +0200
committerMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-08-08 17:24:00 +0200
commit11369e6592800fcf03138b109fee3d4c0736f21a (patch)
treed0c04f5d9f5088ab298fdbdba506df132e9224cc /src/main.c
parentacfd4316ac0678aa622b116359821246f06aa080 (diff)
cpp, more listeners
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c97
1 files changed, 0 insertions, 97 deletions
diff --git a/src/main.c b/src/main.c
deleted file mode 100644
index 7cdef06..0000000
--- a/src/main.c
+++ /dev/null
@@ -1,97 +0,0 @@
-#include "util.h"
-
-#include "ivi-controller-client-protocol.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-#include <wayland-client.h>
-
-struct conn {
- struct wl_display *d;
- struct wl_registry *r;
- struct wl_array outputs;
-
- struct ivi_controller *c;
-};
-
-static void c_screen(void *data, struct ivi_controller *ivi_controller,
- uint32_t id_screen, struct ivi_controller_screen *screen) {}
-
-static void c_layer(void *data, struct ivi_controller *ivi_controller,
- uint32_t id_layer) {}
-
-static void c_surface(void *data, struct ivi_controller *ivi_controller,
- uint32_t id_surface) {}
-
-static void c_error(void *data, struct ivi_controller *ivi_controller,
- int32_t object_id, int32_t object_type, int32_t error_code,
- const char *error_text) {}
-
-struct ivi_controller_listener c_listener = {c_screen, c_layer, c_surface,
- c_error};
-
-static void o_geometry(void *data, struct wl_output *wl_output, int32_t x, int32_t y,
- int32_t physical_width, int32_t physical_height,
- int32_t subpixel, const char *make, const char *model,
- int32_t transform) {}
-
-static void o_mode(void *data, struct wl_output *wl_output, uint32_t flags,
- int32_t width, int32_t height, int32_t refresh) {}
-
-static void o_done(void *data, struct wl_output *wl_output) {}
-
-static void o_scale(void *data, struct wl_output *wl_output, int32_t factor) {}
-
-struct wl_output_listener o_listener = {o_geometry, o_mode, o_done, o_scale};
-
-static void r_global(void *data, struct wl_registry *r, uint32_t name,
- char const *iface, uint32_t v) {
- struct conn *c = data;
-
- if (strcmp(iface, "ivi_controller") == 0) {
- c->c = wl_registry_bind(r, name, &ivi_controller_interface, v);
- ivi_controller_add_listener(c->c, &c_listener, c);
- } else if (strcmp(iface, "wl_output") == 0) {
- struct wl_output **o = wl_array_add(&c->outputs, sizeof(*o));
- *o = wl_registry_bind(r, name, &wl_output_interface, v);
- wl_output_add_listener(*o, &o_listener, c);
- }
-}
-
-static void r_global_remove(void *data, struct wl_registry *r, uint32_t name) {}
-
-struct wl_registry_listener r_listener = {r_global, r_global_remove};
-
-int main(int argc, char **argv) {
- lognotice("WinMan ver. %s", WINMAN_VERSION_STRING);
-
- if (!getenv("XDG_RUNTIME_DIR"))
- fatal("Environment variable XDG_RUNTIME_DIR not set");
-
- struct conn c;
- wl_array_init(&c.outputs);
- c.d = wl_display_connect(NULL);
- if (!c.d)
- fatal("Could not connect to compositor");
- c.r = wl_display_get_registry(c.d);
- wl_registry_add_listener(c.r, &r_listener, &c);
-
- // First level objects
- wl_display_roundtrip(c.d);
- // Second level objects
- wl_display_roundtrip(c.d);
-
- if (!c.c)
- fatal("ivi_controller global not available");
-
- // main loop
- while (wl_display_dispatch(c.d) != -1) {
- }
-
- ivi_controller_destroy(c.c);
- wl_registry_destroy(c.r);
- wl_display_disconnect(c.d);
-
- return 0;
-}