Pass version number to global bind function
authorKristian Høgsberg <krh@bitplanet.net>
Mon, 18 Apr 2011 16:35:01 +0000 (12:35 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Wed, 20 Apr 2011 21:19:56 +0000 (17:19 -0400)
wayland/wayland-server.c
wayland/wayland-server.h

index 082a6a1..ed16300 100644 (file)
@@ -84,7 +84,7 @@ struct wl_frame_listener {
 
 struct wl_global {
        struct wl_object *object;
-       wl_client_connect_func_t func;
+       wl_global_bind_func_t func;
        struct wl_list link;
 };
 
@@ -476,7 +476,7 @@ display_bind(struct wl_client *client,
 
        wl_list_for_each(global, &display->global_list, link)
                if (global->object->id == id && global->func)
-                       global->func(client, global->object);
+                       global->func(client, global->object, version);
 }
 
 static void
@@ -603,7 +603,7 @@ wl_display_add_object(struct wl_display *display, struct wl_object *object)
 
 WL_EXPORT int
 wl_display_add_global(struct wl_display *display,
-                     struct wl_object *object, wl_client_connect_func_t func)
+                     struct wl_object *object, wl_global_bind_func_t func)
 {
        struct wl_global *global;
 
@@ -615,7 +615,7 @@ wl_display_add_global(struct wl_display *display,
        global->func = func;
        wl_list_insert(display->global_list.prev, &global->link);
 
-       return 0;       
+       return 0;
 }
 
 WL_EXPORT void
index 8032866..d80ca32 100644 (file)
@@ -81,11 +81,16 @@ int wl_display_add_socket(struct wl_display *display, const char *name);
 void wl_display_terminate(struct wl_display *display);
 void wl_display_run(struct wl_display *display);
 
-void wl_display_add_object(struct wl_display *display, struct wl_object *object);
+void wl_display_add_object(struct wl_display *display,
+                          struct wl_object *object);
 
-typedef void (*wl_client_connect_func_t)(struct wl_client *client, struct wl_object *global);
+typedef void (*wl_global_bind_func_t)(struct wl_client *client,
+                                     struct wl_object *global,
+                                     uint32_t version);
 
-int wl_display_add_global(struct wl_display *display, struct wl_object *object, wl_client_connect_func_t func);
+int wl_display_add_global(struct wl_display *display,
+                         struct wl_object *object,
+                         wl_global_bind_func_t func);
 
 struct wl_client *wl_client_create(struct wl_display *display, int fd);
 void wl_client_destroy(struct wl_client *client);