From: Pekka Paalanen <pekka.paala...@collabora.co.uk>

Heads need to be named, so they can be referenced in logs and
configuration sources.

When clone mode is implemented, output and head names may differ.

Signed-off-by: Pekka Paalanen <pekka.paala...@collabora.co.uk>
Reviewed-by: Derek Foreman <der...@osg.samsung.com>
---
 libweston/compositor.c | 10 ++++++++--
 libweston/compositor.h |  2 ++
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/libweston/compositor.c b/libweston/compositor.c
index a73af222..55990a9e 100644
--- a/libweston/compositor.c
+++ b/libweston/compositor.c
@@ -4415,14 +4415,18 @@ weston_head_from_resource(struct wl_resource *resource)
 /** Initialize a pre-allocated weston_head
  *
  * \param head The head to initialize.
+ * \param name The head name, e.g. the connector name or equivalent.
  *
  * The head will be safe to attach, detach and release.
  *
+ * The name is used in logs, and can be used by compositors as a configuration
+ * identifier.
+ *
  * \memberof weston_head
  * \internal
  */
 static void
-weston_head_init(struct weston_head *head)
+weston_head_init(struct weston_head *head, const char *name)
 {
        /* Add some (in)sane defaults which can be used
         * for checking if an output was properly configured
@@ -4431,6 +4435,7 @@ weston_head_init(struct weston_head *head)
 
        wl_list_init(&head->output_link);
        wl_list_init(&head->resource_list);
+       head->name = strdup(name);
 }
 
 /** Attach a head to an inactive output
@@ -4506,6 +4511,7 @@ weston_head_release(struct weston_head *head)
        free(head->make);
        free(head->model);
        free(head->serial_number);
+       free(head->name);
 }
 
 /** Store monitor make, model and serial number
@@ -5013,7 +5019,7 @@ weston_output_init(struct weston_output *output,
 
        wl_list_init(&output->head_list);
 
-       weston_head_init(&output->head);
+       weston_head_init(&output->head, name);
 
        /* Add some (in)sane defaults which can be used
         * for checking if an output was properly configured
diff --git a/libweston/compositor.h b/libweston/compositor.h
index 78b6e2f6..84222ee0 100644
--- a/libweston/compositor.h
+++ b/libweston/compositor.h
@@ -166,6 +166,8 @@ struct weston_head {
        char *serial_number;            /**< monitor serial */
        uint32_t subpixel;              /**< enum wl_output_subpixel */
        bool connection_internal;       /**< embedded monitor (e.g. laptop) */
+
+       char *name;                     /**< head name, e.g. connector name */
 };
 
 struct weston_output {
-- 
2.13.6

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

Reply via email to