libweston: add name to weston_head

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.paalanen@collabora.co.uk>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Ian Ray <ian.ray@ge.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Acked-by: Derek Foreman <derekf@osg.samsung.com>
dev
Pekka Paalanen 7 years ago
parent cf0a476b8e
commit 9b02e4781a
  1. 10
      libweston/compositor.c
  2. 2
      libweston/compositor.h

@ -4424,14 +4424,18 @@ weston_head_from_resource(struct wl_resource *resource)
/** Initialize a pre-allocated weston_head /** Initialize a pre-allocated weston_head
* *
* \param head The head to initialize. * \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 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 * \memberof weston_head
* \internal * \internal
*/ */
static void 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 /* Add some (in)sane defaults which can be used
* for checking if an output was properly configured * for checking if an output was properly configured
@ -4440,6 +4444,7 @@ weston_head_init(struct weston_head *head)
wl_list_init(&head->output_link); wl_list_init(&head->output_link);
wl_list_init(&head->resource_list); wl_list_init(&head->resource_list);
head->name = strdup(name);
} }
/** Attach a head to an inactive output /** Attach a head to an inactive output
@ -4515,6 +4520,7 @@ weston_head_release(struct weston_head *head)
free(head->make); free(head->make);
free(head->model); free(head->model);
free(head->serial_number); free(head->serial_number);
free(head->name);
} }
/** Store monitor make, model and serial number /** Store monitor make, model and serial number
@ -5019,7 +5025,7 @@ weston_output_init(struct weston_output *output,
wl_list_init(&output->head_list); 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 /* Add some (in)sane defaults which can be used
* for checking if an output was properly configured * for checking if an output was properly configured

@ -166,6 +166,8 @@ struct weston_head {
char *serial_number; /**< monitor serial */ char *serial_number; /**< monitor serial */
uint32_t subpixel; /**< enum wl_output_subpixel */ uint32_t subpixel; /**< enum wl_output_subpixel */
bool connection_internal; /**< embedded monitor (e.g. laptop) */ bool connection_internal; /**< embedded monitor (e.g. laptop) */
char *name; /**< head name, e.g. connector name */
}; };
struct weston_output { struct weston_output {

Loading…
Cancel
Save