diff --git a/src/libsystemd-terminal/grdev-internal.h b/src/libsystemd-terminal/grdev-internal.h index f5915b16e8c..ee182695ce1 100644 --- a/src/libsystemd-terminal/grdev-internal.h +++ b/src/libsystemd-terminal/grdev-internal.h @@ -94,6 +94,7 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(grdev_tile*, grdev_tile_free); struct grdev_display { grdev_session *session; char *name; + void *userdata; size_t n_leafs; grdev_tile *tile; diff --git a/src/libsystemd-terminal/grdev.c b/src/libsystemd-terminal/grdev.c index 43d0c7c9bfa..e34112ee7cb 100644 --- a/src/libsystemd-terminal/grdev.c +++ b/src/libsystemd-terminal/grdev.c @@ -282,6 +282,24 @@ grdev_display *grdev_display_free(grdev_display *display) { return NULL; } +void grdev_display_set_userdata(grdev_display *display, void *userdata) { + assert(display); + + display->userdata = userdata; +} + +void *grdev_display_get_userdata(grdev_display *display) { + assert_return(display, NULL); + + return display->userdata; +} + +const char *grdev_display_get_name(grdev_display *display) { + assert_return(display, NULL); + + return display->name; +} + bool grdev_display_is_enabled(grdev_display *display) { return display && display->enabled; } diff --git a/src/libsystemd-terminal/grdev.h b/src/libsystemd-terminal/grdev.h index 9924a257b6c..5f745aaad4e 100644 --- a/src/libsystemd-terminal/grdev.h +++ b/src/libsystemd-terminal/grdev.h @@ -108,6 +108,11 @@ struct grdev_display_target { const grdev_fb *fb; }; +void grdev_display_set_userdata(grdev_display *display, void *userdata); +void *grdev_display_get_userdata(grdev_display *display); + +const char *grdev_display_get_name(grdev_display *display); + bool grdev_display_is_enabled(grdev_display *display); void grdev_display_enable(grdev_display *display); void grdev_display_disable(grdev_display *display); diff --git a/src/libsystemd-terminal/sysview-internal.h b/src/libsystemd-terminal/sysview-internal.h index 9299fabb825..d9f7fe33012 100644 --- a/src/libsystemd-terminal/sysview-internal.h +++ b/src/libsystemd-terminal/sysview-internal.h @@ -64,6 +64,7 @@ struct sysview_session { sysview_seat *seat; char *name; char *path; + void *userdata; sd_bus_slot *slot_take_control; diff --git a/src/libsystemd-terminal/sysview.c b/src/libsystemd-terminal/sysview.c index 5b623c1e6c3..208c6ce25c3 100644 --- a/src/libsystemd-terminal/sysview.c +++ b/src/libsystemd-terminal/sysview.c @@ -104,6 +104,12 @@ sysview_device *sysview_device_free(sysview_device *device) { return NULL; } +const char *sysview_device_get_name(sysview_device *device) { + assert_return(device, NULL); + + return device->name; +} + unsigned int sysview_device_get_type(sysview_device *device) { assert_return(device, (unsigned)-1); @@ -243,6 +249,18 @@ sysview_session *sysview_session_free(sysview_session *session) { return NULL; } +void sysview_session_set_userdata(sysview_session *session, void *userdata) { + assert(session); + + session->userdata = userdata; +} + +void *sysview_session_get_userdata(sysview_session *session) { + assert_return(session, NULL); + + return session->userdata; +} + const char *sysview_session_get_name(sysview_session *session) { assert_return(session, NULL); diff --git a/src/libsystemd-terminal/sysview.h b/src/libsystemd-terminal/sysview.h index 4d800f8d695..f691e492d52 100644 --- a/src/libsystemd-terminal/sysview.h +++ b/src/libsystemd-terminal/sysview.h @@ -116,6 +116,7 @@ enum { SYSVIEW_DEVICE_CNT }; +const char *sysview_device_get_name(sysview_device *device); unsigned int sysview_device_get_type(sysview_device *device); struct udev_device *sysview_device_get_ud(sysview_device *device); @@ -123,6 +124,9 @@ struct udev_device *sysview_device_get_ud(sysview_device *device); * Sessions */ +void sysview_session_set_userdata(sysview_session *session, void *userdata); +void *sysview_session_get_userdata(sysview_session *session); + const char *sysview_session_get_name(sysview_session *session); int sysview_session_take_control(sysview_session *session);