The config can now be retrieved with a new function defined in weston.h,
wet_get_config(weston_compositor*).

Signed-off-by: Giulio Camuffo <giuliocamu...@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paala...@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+...@sardemff7.net>
---

v3: renamed the new function to wet_get_config

 desktop-shell/shell.c      | 2 +-
 ivi-shell/hmi-controller.c | 6 +++---
 ivi-shell/ivi-shell.c      | 3 ++-
 src/cms-static.c           | 3 ++-
 src/compositor.h           | 1 -
 src/libinput-device.c      | 4 +++-
 src/main.c                 | 9 +++++++--
 src/text-backend.c         | 3 ++-
 src/weston.h               | 3 +++
 xwayland/launcher.c        | 5 +++--
 10 files changed, 26 insertions(+), 13 deletions(-)

diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index ec71cd1..b1fb2fa 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -640,7 +640,7 @@ shell_configuration(struct desktop_shell *shell)
        int ret;
        int allow_zap;
 
-       section = weston_config_get_section(shell->compositor->config,
+       section = weston_config_get_section(wet_get_config(shell->compositor),
                                            "shell", NULL, NULL);
        ret = asprintf(&client, "%s/%s", weston_config_get_libexec_dir(),
                       WESTON_SHELL_CLIENT);
diff --git a/ivi-shell/hmi-controller.c b/ivi-shell/hmi-controller.c
index 094682c..77278ee 100644
--- a/ivi-shell/hmi-controller.c
+++ b/ivi-shell/hmi-controller.c
@@ -678,7 +678,7 @@ static struct hmi_server_setting *
 hmi_server_setting_create(struct weston_compositor *ec)
 {
        struct hmi_server_setting *setting = MEM_ALLOC(sizeof(*setting));
-       struct weston_config *config = ec->config;
+       struct weston_config *config = wet_get_config(ec);
        struct weston_config_section *shell_section = NULL;
 
        shell_section = weston_config_get_section(config, "ivi-shell",
@@ -1140,7 +1140,7 @@ ivi_hmi_controller_add_launchers(struct hmi_controller 
*hmi_ctrl,
        if (0 == y_count)
                y_count  = 1;
 
-       config = hmi_ctrl->compositor->config;
+       config = wet_get_config(hmi_ctrl->compositor);
        if (!config)
                return;
 
@@ -1881,7 +1881,7 @@ initialize(struct hmi_controller *hmi_ctrl)
                uint32_t *dest;
        };
 
-       struct weston_config *config = hmi_ctrl->compositor->config;
+       struct weston_config *config = wet_get_config(hmi_ctrl->compositor);
        struct weston_config_section *section = NULL;
        int result = 0;
        int i = 0;
diff --git a/ivi-shell/ivi-shell.c b/ivi-shell/ivi-shell.c
index 59ffe0c..c1af78c 100644
--- a/ivi-shell/ivi-shell.c
+++ b/ivi-shell/ivi-shell.c
@@ -46,6 +46,7 @@
 #include "ivi-layout-export.h"
 #include "ivi-layout-shell.h"
 #include "shared/helpers.h"
+#include "weston.h"
 
 /* Representation of ivi_surface protocol object. */
 struct ivi_shell_surface
@@ -416,7 +417,7 @@ ivi_shell_setting_create(struct ivi_shell_setting *dest,
                         int *argc, char *argv[])
 {
        int result = 0;
-       struct weston_config *config = compositor->config;
+       struct weston_config *config = wet_get_config(compositor);
        struct weston_config_section *section;
 
        const struct weston_option ivi_shell_options[] = {
diff --git a/src/cms-static.c b/src/cms-static.c
index 0273ee3..a6bbfd4 100644
--- a/src/cms-static.c
+++ b/src/cms-static.c
@@ -31,6 +31,7 @@
 #include "compositor.h"
 #include "cms-helper.h"
 #include "shared/helpers.h"
+#include "weston.h"
 
 struct cms_static {
        struct weston_compositor        *ec;
@@ -49,7 +50,7 @@ cms_output_created(struct cms_static *cms, struct 
weston_output *o)
 
        if (o->name == NULL)
                return;
-       s = weston_config_get_section(cms->ec->config,
+       s = weston_config_get_section(wet_get_config(cms->ec),
                                      "output", "name", o->name);
        if (s == NULL)
                return;
diff --git a/src/compositor.h b/src/compositor.h
index 4b006af..4600ae3 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -726,7 +726,6 @@ struct weston_compositor {
 
        struct wl_display *wl_display;
        struct weston_shell_interface shell_interface;
-       struct weston_config *config;
 
        /* surface signals */
        struct wl_signal create_surface_signal;
diff --git a/src/libinput-device.c b/src/libinput-device.c
index c5d3fd1..2126084 100644
--- a/src/libinput-device.c
+++ b/src/libinput-device.c
@@ -39,6 +39,7 @@
 #include "compositor.h"
 #include "libinput-device.h"
 #include "shared/helpers.h"
+#include "weston.h"
 
 void
 evdev_led_update(struct evdev_device *device, enum weston_led weston_leds)
@@ -528,10 +529,11 @@ configure_device(struct evdev_device *device)
 {
        struct weston_compositor *compositor = device->seat->compositor;
        struct weston_config_section *s;
+       struct weston_config *config = wet_get_config(compositor);
        int enable_tap;
        int enable_tap_default;
 
-       s = weston_config_get_section(compositor->config,
+       s = weston_config_get_section(config,
                                      "libinput", NULL, NULL);
 
        if (libinput_device_config_tap_get_finger_count(device->device) > 0) {
diff --git a/src/main.c b/src/main.c
index 91b951c..f0ff9a0 100644
--- a/src/main.c
+++ b/src/main.c
@@ -331,6 +331,12 @@ log_uname(void)
                                                usys.version, usys.machine);
 }
 
+WL_EXPORT struct weston_config *
+wet_get_config(struct weston_compositor *compositor)
+{
+       return weston_compositor_get_user_data(compositor);
+}
+
 static const char xdg_error_message[] =
        "fatal: environment variable XDG_RUNTIME_DIR is not set.\n";
 
@@ -846,7 +852,7 @@ drm_configure_output(struct weston_compositor *c,
                     const char *name,
                     struct weston_drm_backend_output_config *config)
 {
-       struct weston_config *wc = weston_compositor_get_user_data(c);
+       struct weston_config *wc = wet_get_config(c);
        struct weston_config_section *section;
        char *s;
        int scale;
@@ -1515,7 +1521,6 @@ int main(int argc, char *argv[])
                goto out;
        }
 
-       ec->config = config;
        if (weston_compositor_init_config(ec, config) < 0)
                goto out;
 
diff --git a/src/text-backend.c b/src/text-backend.c
index 743cbc4..0c000ba 100644
--- a/src/text-backend.c
+++ b/src/text-backend.c
@@ -1026,11 +1026,12 @@ handle_seat_created(struct wl_listener *listener, void 
*data)
 static void
 text_backend_configuration(struct text_backend *text_backend)
 {
+       struct weston_config *config = wet_get_config(text_backend->compositor);
        struct weston_config_section *section;
        char *client;
        int ret;
 
-       section = weston_config_get_section(text_backend->compositor->config,
+       section = weston_config_get_section(config,
                                            "input-method", NULL, NULL);
        ret = asprintf(&client, "%s/weston-keyboard",
                       weston_config_get_libexec_dir());
diff --git a/src/weston.h b/src/weston.h
index f2bc1ac..ea42166 100644
--- a/src/weston.h
+++ b/src/weston.h
@@ -57,6 +57,9 @@ weston_client_start(struct weston_compositor *compositor, 
const char *path);
 void
 weston_watch_process(struct weston_process *process);
 
+struct weston_config *
+wet_get_config(struct weston_compositor *compositor);
+
 #ifdef  __cplusplus
 }
 #endif
diff --git a/xwayland/launcher.c b/xwayland/launcher.c
index db5e1d0..4fd2553 100644
--- a/xwayland/launcher.c
+++ b/xwayland/launcher.c
@@ -37,7 +37,7 @@
 
 #include "xwayland.h"
 #include "shared/helpers.h"
-
+#include "weston.h"
 
 static int
 handle_sigusr1(int signal_number, void *data)
@@ -60,6 +60,7 @@ weston_xserver_handle_event(int listen_fd, uint32_t mask, 
void *data)
        char display[8], s[8], abstract_fd[8], unix_fd[8], wm_fd[8];
        int sv[2], wm[2], fd;
        char *xserver = NULL;
+       struct weston_config *config = wet_get_config(wxs->compositor);
        struct weston_config_section *section;
 
        if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, sv) < 0) {
@@ -98,7 +99,7 @@ weston_xserver_handle_event(int listen_fd, uint32_t mask, 
void *data)
                        goto fail;
                snprintf(wm_fd, sizeof wm_fd, "%d", fd);
 
-               section = weston_config_get_section(wxs->compositor->config,
+               section = weston_config_get_section(config,
                                                    "xwayland", NULL, NULL);
                weston_config_section_get_string(section, "path",
                                                 &xserver, XSERVER_PATH);
-- 
2.8.3

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to