data-device: Use a listener list to decouple the x11 selection bridge
diff --git a/src/compositor.h b/src/compositor.h
index f453004..f6c87da 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -96,6 +96,12 @@
 	void (*destroy)(struct weston_output *output);
 };
 
+struct weston_selection_listener {
+	void (*func)(struct weston_selection_listener *listener,
+		     struct weston_input_device *device);
+	struct wl_list link;
+};
+
 struct weston_input_device {
 	struct wl_input_device input_device;
 	struct weston_compositor *compositor;
@@ -113,6 +119,7 @@
 	struct weston_data_source *selection_data_source;
 	struct wl_listener selection_data_source_listener;
 	struct wl_grab grab;
+	struct wl_list selection_listener_list;
 
 	uint32_t num_tp;
 	struct wl_surface *touch_focus;