diff options
author | Giulio Camuffo <giuliocamuffo@gmail.com> | 2015-10-17 19:24:15 +0300 |
---|---|---|
committer | Bryce Harrington <bryce@osg.samsung.com> | 2015-10-23 15:23:40 -0700 |
commit | 43008c7620cd29468f1de1c7e272ee0e34f28c95 (patch) | |
tree | bc3c4afe2670bbf412f29385f45d4535aaafd0b0 | |
parent | 93daabbc7141de3c085278ab8905813038308209 (diff) | |
download | weston-43008c7620cd29468f1de1c7e272ee0e34f28c95.tar.gz |
main: stub the functions to load the backends with the new config system
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
-rw-r--r-- | src/main.c | 68 |
1 files changed, 59 insertions, 9 deletions
@@ -631,6 +631,64 @@ handle_exit(struct weston_compositor *c) wl_display_terminate(c->wl_display); } +/* Temporary function to be removed when all backends are converted. */ +static int +load_backend_old(struct weston_compositor *compositor, const char *backend, + int *argc, char **argv, struct weston_config *wc) +{ + int (*backend_init)(struct weston_compositor *c, + int *argc, char *argv[], + struct weston_config *config, + struct weston_backend_config *config_base); + + backend_init = weston_load_module(backend, "backend_init"); + if (!backend_init) + return -1; + + return backend_init(compositor, argc, argv, wc, NULL); +} + +/* Temporary function to be replaced by weston_compositor_load_backend(). */ +static int +load_backend_new(struct weston_compositor *compositor, const char *backend, + struct weston_backend_config *config_base) +{ + int (*backend_init)(struct weston_compositor *c, + int *argc, char *argv[], + struct weston_config *config, + struct weston_backend_config *config_base); + + backend_init = weston_load_module(backend, "backend_init"); + if (!backend_init) + return -1; + + return backend_init(compositor, NULL, NULL, NULL, config_base); +} + +static int +load_backend(struct weston_compositor *compositor, const char *backend, + int *argc, char **argv, struct weston_config *config) +{ +#if 0 + if (strstr(backend, "drm-backend.so")) + return load_drm_backend(compositor, backend, argc, argv, config); + else if (strstr(backend, "wayland-backend.so")) + return load_wayland_backend(compositor, backend, argc, argv, config); + else if (strstr(backend, "x11-backend.so")) + return load_x11_backend(compositor, backend, argc, argv, config); + else if (strstr(backend, "fbdev-backend.so")) + return load_fbdev_backend(compositor, backend, argc, argv, config); + else if (strstr(backend, "headless-backend.so")) + return load_headless_backend(compositor, backend, argc, argv, config); + else if (strstr(backend, "rpi-backend.so")) + return load_rpi_backend(compositor, backend, argc, argv, config); + else if (strstr(backend, "rdp-backend.so")) + return load_rdp_backend(compositor, backend, argc, argv, config); +#endif + + return load_backend_old(compositor, backend, argc, argv, config); +} + int main(int argc, char *argv[]) { int ret = EXIT_FAILURE; @@ -638,10 +696,6 @@ int main(int argc, char *argv[]) struct weston_compositor *ec; struct wl_event_source *signals[4]; struct wl_event_loop *loop; - int (*backend_init)(struct weston_compositor *c, - int *argc, char *argv[], - struct weston_config *config, - struct weston_backend_config *config_base); int i, fd; char *backend = NULL; char *shell = NULL; @@ -726,10 +780,6 @@ int main(int argc, char *argv[]) backend = weston_choose_default_backend(); } - backend_init = weston_load_module(backend, "backend_init"); - if (!backend_init) - goto out_signals; - ec = weston_compositor_create(display, NULL); if (ec == NULL) { weston_log("fatal: failed to create compositor\n"); @@ -740,7 +790,7 @@ int main(int argc, char *argv[]) if (weston_compositor_init_config(ec, config) < 0) goto out; - if (backend_init(ec, &argc, argv, config, NULL) < 0) { + if (load_backend(ec, backend, &argc, argv, config) < 0) { weston_log("fatal: failed to create compositor backend\n"); goto out; } |