chiark / gitweb /
terminal/subterm: skip setting parent's cursor
[elogind.git] / src / libsystemd-terminal / sysview.h
index de6ff371db55bbd688b432b955fbdc1e34bf3338..cad603d59fe7740d5e955fb3374c30135072a916 100644 (file)
@@ -63,6 +63,7 @@ enum {
         SYSVIEW_EVENT_SESSION_REMOVE,
         SYSVIEW_EVENT_SESSION_ATTACH,
         SYSVIEW_EVENT_SESSION_DETACH,
+        SYSVIEW_EVENT_SESSION_REFRESH,
         SYSVIEW_EVENT_SESSION_CONTROL,
 };
 
@@ -90,6 +91,12 @@ struct sysview_event {
                         sysview_device *device;
                 } session_attach, session_detach;
 
+                struct {
+                        sysview_session *session;
+                        sysview_device *device;
+                        struct udev_device *ud;
+                } session_refresh;
+
                 struct {
                         sysview_session *session;
                         int error;
@@ -109,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);
 
@@ -116,7 +124,11 @@ 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);
+sysview_seat *sysview_session_get_seat(sysview_session *session);
 
 int sysview_session_take_control(sysview_session *session);
 void sysview_session_release_control(sysview_session *session);
@@ -126,6 +138,7 @@ void sysview_session_release_control(sysview_session *session);
  */
 
 const char *sysview_seat_get_name(sysview_seat *seat);
+int sysview_seat_switch_to(sysview_seat *seat, uint32_t nr);
 
 /*
  * Contexts