chiark / gitweb /
login: track login class (i.e. one of "user", "greeter", "lock-screen") for each...
[elogind.git] / src / login / logind-session.h
index 8e394ac0d8f698eaa32a22b3d6d931fb06e1f223..d0b8c87fabb36b1fe08df544cdf2e10b4ebec16f 100644 (file)
@@ -38,6 +38,14 @@ typedef enum SessionType {
         _SESSION_TYPE_INVALID = -1
 } SessionType;
 
+typedef enum SessionClass {
+        SESSION_USER,
+        SESSION_GREETER,
+        SESSION_LOCK_SCREEN,
+        _SESSION_CLASS_MAX,
+        _SESSION_CLASS_INVALID = -1
+} SessionClass;
+
 typedef enum KillWho {
         KILL_LEADER,
         KILL_ALL,
@@ -50,6 +58,7 @@ struct Session {
 
         char *id;
         SessionType type;
+        SessionClass class;
 
         char *state_file;
 
@@ -118,6 +127,9 @@ int session_send_lock(Session *s, bool lock);
 const char* session_type_to_string(SessionType t);
 SessionType session_type_from_string(const char *s);
 
+const char* session_class_to_string(SessionClass t);
+SessionClass session_class_from_string(const char *s);
+
 const char *kill_who_to_string(KillWho k);
 KillWho kill_who_from_string(const char *s);