summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
5d301b8)
Add "userdata" storage to a bunch of external objects, namely displays and
sessions. Furthermore, add some property retrieval helpers.
This is required if we want external API users to not duplicate our own
object hashtables, but retrieve context from the objects themselves.
struct grdev_display {
grdev_session *session;
char *name;
struct grdev_display {
grdev_session *session;
char *name;
size_t n_leafs;
grdev_tile *tile;
size_t n_leafs;
grdev_tile *tile;
+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;
}
bool grdev_display_is_enabled(grdev_display *display) {
return display && display->enabled;
}
+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);
bool grdev_display_is_enabled(grdev_display *display);
void grdev_display_enable(grdev_display *display);
void grdev_display_disable(grdev_display *display);
sysview_seat *seat;
char *name;
char *path;
sysview_seat *seat;
char *name;
char *path;
sd_bus_slot *slot_take_control;
sd_bus_slot *slot_take_control;
+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);
unsigned int sysview_device_get_type(sysview_device *device) {
assert_return(device, (unsigned)-1);
+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);
const char *sysview_session_get_name(sysview_session *session) {
assert_return(session, NULL);
+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);
unsigned int sysview_device_get_type(sysview_device *device);
struct udev_device *sysview_device_get_ud(sysview_device *device);
+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);
const char *sysview_session_get_name(sysview_session *session);
int sysview_session_take_control(sysview_session *session);