diff options
-rw-r--r-- | libconsolekit/sd-compat.c | 23 | ||||
-rw-r--r-- | libconsolekit/sd-login.h | 2 |
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); |