summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libconsolekit/sd-compat.c23
-rw-r--r--libconsolekit/sd-login.h2
2 files changed, 25 insertions, 0 deletions
diff --git a/libconsolekit/sd-compat.c b/libconsolekit/sd-compat.c
index 69a1576..a5d60e5 100644
--- a/libconsolekit/sd-compat.c
+++ b/libconsolekit/sd-compat.c
@@ -142,3 +142,26 @@ sd_uid_get_sessions(uid_t uid, int require_active, char ***sessions)
return ret;
}
+
+int
+sd_seat_can_multi_session(const char *seat)
+{
+ LibConsoleKit *ck = NULL;
+ GError *error = NULL;
+ gboolean can_activate = FALSE;
+
+ ck = lib_consolekit_new ();
+
+ can_activate = lib_consolekit_seat_can_multi_session (ck, seat, &error);
+ if (error) {
+ g_warning ("Unable to determine if seat can activate sessions: %s",
+ error ? error->message : "");
+ g_error_free (error);
+ g_object_unref (ck);
+ return FALSE;
+ }
+
+ g_object_unref (ck);
+
+ return can_activate;
+}
diff --git a/libconsolekit/sd-login.h b/libconsolekit/sd-login.h
index 262966c..8312d7b 100644
--- a/libconsolekit/sd-login.h
+++ b/libconsolekit/sd-login.h
@@ -6,3 +6,5 @@ int sd_session_get_type(const char *session, char **type);
int sd_session_get_state(const char *session, char **state);
int sd_session_get_uid(const char *session, uid_t *uid);
int sd_uid_get_sessions(uid_t uid, int require_active, char ***sessions);
+
+int sd_seat_can_multi_session(const char *seat);