+static void context_change_device(sysview_context *c, sysview_device *device, struct udev_device *ud) {
+ sysview_session *session;
+ Iterator i;
+ int r;
+
+ assert(c);
+ assert(device);
+
+ log_debug("sysview: change device '%s'", device->name);
+
+ HASHMAP_FOREACH(session, device->seat->session_map, i) {
+ if (!session->public)
+ continue;
+
+ r = context_raise_session_refresh(c, session, device, ud);
+ if (r < 0)
+ log_debug("sysview: callback failed while changing device '%s' on session '%s': %s",
+ device->name, session->name, strerror(-r));
+ }
+}
+
+static void context_add_session(sysview_context *c, sysview_seat *seat, const char *id) {