compositor: Make all non-backend modules use module_init() as entry point
authorKristian Høgsberg <krh@bitplanet.net>
Tue, 11 Sep 2012 18:06:27 +0000 (14:06 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 11 Sep 2012 18:06:27 +0000 (14:06 -0400)
src/compositor.c
src/compositor.h
src/shell.c
src/tablet-shell.c
src/xwayland/launcher.c

index 911eaba..170e6ba 100644 (file)
@@ -3091,8 +3091,7 @@ int main(int argc, char *argv[])
 
        module_init = NULL;
        if (xserver)
-               module_init = load_module("xwayland.so",
-                                         "weston_xserver_init",
+               module_init = load_module("xwayland.so", "module_init",
                                          &xserver_module);
        if (module_init && module_init(ec) < 0) {
                ret = EXIT_FAILURE;
@@ -3104,7 +3103,7 @@ int main(int argc, char *argv[])
 
        if (!shell)
                shell = "desktop-shell.so";
-       module_init = load_module(shell, "shell_init", &shell_module);
+       module_init = load_module(shell, "module_init", &shell_module);
        if (!module_init || module_init(ec) < 0) {
                ret = EXIT_FAILURE;
                goto out;
index 2954703..a1e6f85 100644 (file)
@@ -770,9 +770,6 @@ weston_client_launch(struct weston_compositor *compositor,
 void
 weston_watch_process(struct weston_process *process);
 
-int
-weston_xserver_init(struct weston_compositor *compositor);
-
 struct weston_surface_animation;
 typedef        void (*weston_surface_animation_done_func_t)(struct weston_surface_animation *animation, void *data);
 
@@ -794,10 +791,6 @@ weston_surface_set_color(struct weston_surface *surface,
 void
 weston_surface_destroy(struct weston_surface *surface);
 
-struct weston_compositor *
-backend_init(struct wl_display *display, int argc, char *argv[],
-            const char *config_file);
-
 int
 weston_output_switch_mode(struct weston_output *output, struct weston_mode *mode);
 
@@ -806,4 +799,11 @@ gles2_renderer_init(struct weston_compositor *ec);
 void
 gles2_renderer_destroy(struct weston_compositor *ec);
 
+struct weston_compositor *
+backend_init(struct wl_display *display, int argc, char *argv[],
+           const char *config_file);
+
+int
+module_init(struct weston_compositor *compositor);
+
 #endif
index 06d8684..dba54f7 100644 (file)
@@ -3691,11 +3691,8 @@ shell_add_bindings(struct weston_compositor *ec, struct desktop_shell *shell)
        }
 }
 
-int
-shell_init(struct weston_compositor *ec);
-
 WL_EXPORT int
-shell_init(struct weston_compositor *ec)
+module_init(struct weston_compositor *ec)
 {
        struct weston_seat *seat;
        struct desktop_shell *shell;
index f17d888..af5e66f 100644 (file)
@@ -530,18 +530,15 @@ tablet_shell_destroy(struct wl_listener *listener, void *data)
        free(shell);
 }
 
-void
-shell_init(struct weston_compositor *compositor);
-
-WL_EXPORT void
-shell_init(struct weston_compositor *compositor)
+WL_EXPORT int
+module_init(struct weston_compositor *compositor)
 {
        struct tablet_shell *shell;
        struct wl_event_loop *loop;
 
        shell = malloc(sizeof *shell);
        if (shell == NULL)
-               return;
+               return -1;
 
        memset(shell, 0, sizeof *shell);
        shell->compositor = compositor;
@@ -583,4 +580,6 @@ shell_init(struct weston_compositor *compositor)
        launch_ux_daemon(shell);
 
        tablet_shell_set_state(shell, STATE_STARTING);
+
+       return 0;
 }
index aab74f0..00f064e 100644 (file)
@@ -312,7 +312,7 @@ weston_xserver_destroy(struct wl_listener *l, void *data)
 }
 
 WL_EXPORT int
-weston_xserver_init(struct weston_compositor *compositor)
+module_init(struct weston_compositor *compositor)
 {
        struct wl_display *display = compositor->wl_display;
        struct weston_xserver *mxs;