compositor: add API to manage compositor instances
This commit adds three new exported functions:
- weston_compositor_create() returns a new weston_compositor instance,
initializing it as the now removed weston_compositor_init() did.
- weston_compositor_exit(compositor) asks the compositor to tear
down by calling the compositor's exit vfunc which is set by the
libweston application.
- weston_compositor_destroy(compositor) is called by the libweston
application when tearing down the compositor. The compositor is destroyed
and the memory freed.
Reviewed-by: Jon A. Cruz <jonc@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
diff --git a/src/compositor.h b/src/compositor.h
index bec404a..faaacc2 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -689,6 +689,9 @@
int32_t repaint_msec;
int exit_code;
+
+ void *user_data;
+ void (*exit)(struct weston_compositor *c);
};
struct weston_buffer {
@@ -1337,9 +1340,14 @@
uint32_t
weston_compositor_get_time(void);
-int
-weston_compositor_init(struct weston_compositor *ec,
- int *argc, char *argv[], struct weston_config *config);
+void
+weston_compositor_destroy(struct weston_compositor *ec);
+struct weston_compositor *
+weston_compositor_create(struct wl_display *display, void *user_data);
+void
+weston_compositor_exit(struct weston_compositor *ec);
+void *
+weston_compositor_get_user_data(struct weston_compositor *compositor);
int
weston_compositor_set_presentation_clock(struct weston_compositor *compositor,
clockid_t clk_id);