#include "e.h"
/* local function prototypes */
-static void _e_output_cb_bind(struct wl_client *client, void *data, unsigned int version EINA_UNUSED, unsigned int id);
+static void _e_output_cb_bind(struct wl_client *client, void *data, unsigned int version, unsigned int id);
static void _e_output_cb_unbind(struct wl_resource *resource);
static void _e_output_cb_idle_repaint(void *data);
/* add this output to the registry */
output->wl.global =
- wl_display_add_global(comp->wl.display, &wl_output_interface,
- output, _e_output_cb_bind);
+ wl_global_create(comp->wl.display, &wl_output_interface, 2, output,
+ _e_output_cb_bind);
}
EAPI void
comp = output->compositor;
comp->output_pool &= ~(1 << output->id);
- wl_display_remove_global(comp->wl.display, output->wl.global);
+ wl_global_destroy(output->wl.global);
}
EAPI void
/* local functions */
static void
-_e_output_cb_bind(struct wl_client *client, void *data, unsigned int version EINA_UNUSED, unsigned int id)
+_e_output_cb_bind(struct wl_client *client, void *data, unsigned int version, unsigned int id)
{
E_Output *output;
E_Output_Mode *mode;
/* add this output to the client */
resource =
- wl_client_add_object(client, &wl_output_interface, NULL, id, output);
+ wl_resource_create(client, &wl_output_interface, MIN(version, 2), id);
wl_list_insert(&output->wl.resources, wl_resource_get_link(resource));
- wl_resource_set_destructor(resource, _e_output_cb_unbind);
+ wl_resource_set_implementation(resource, NULL, data, _e_output_cb_unbind);
/* send out this output's geometry */
wl_output_send_geometry(resource, output->x, output->y,