Add Mir to the list of session types. This is implemented for LightDM
in lp:~robert-ancell/lightdm/xdg-session-desktop [1].
[1]
https://code.launchpad.net/~robert-ancell/lightdm/xdg-session-desktop/+merge/214108
---
man/pam_systemd.xml | 5 +++--
man/sd_session_is_active.xml | 6 +++---
src/login/logind-session.c | 1 +
src/login/logind-session.h | 1 +
src/systemd/sd-login.h | 2 +-
5 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/man/pam_systemd.xml b/man/pam_systemd.xml
index 3022cdb..f973899 100644
--- a/man/pam_systemd.xml
+++ b/man/pam_systemd.xml
@@ -145,8 +145,9 @@
variable takes precedence. One of
literalunspecified/literal,
literaltty/literal,
-literalx11/literal or
-literalwayland/literal. See
+literalx11/literal,
+literalwayland/literal or
+literalmir/literal. See
citerefentryrefentrytitlesd_session_get_type/refentrytitlemanvolnum3/manvolnum/citerefentry
for details about the session
type./para/listitem
/varlistentry
diff --git a/man/sd_session_is_active.xml b/man/sd_session_is_active.xml
index ddb2bee..8696f40 100644
--- a/man/sd_session_is_active.xml
+++ b/man/sd_session_is_active.xml
@@ -201,9 +201,9 @@
be used to determine the type of the session
identified by the specified session identifier. The
returned string is one of literalx11/literal,
-literalwayland/literal, literaltty/literal or
-literalunspecified/literal and needs to be freed
-with the libc
+literalwayland/literal, literalmir/literal,
+literaltty/literal or literalunspecified/literal and
+needs to be freed with the libc
citerefentryrefentrytitlefree/refentrytitlemanvolnum3/manvolnum/citerefentry
call after use./para
diff --git a/src/login/logind-session.c b/src/login/logind-session.c
index 4ca6b5d..b4fd349 100644
--- a/src/login/logind-session.c
+++ b/src/login/logind-session.c
@@ -1117,6 +1117,7 @@ static const char* const
session_type_table[_SESSION_TYPE_MAX] = {
[SESSION_TTY] = tty,
[SESSION_X11] = x11,
[SESSION_WAYLAND] = wayland,
+[SESSION_MIR] = mir,
};
DEFINE_STRING_TABLE_LOOKUP(session_type, SessionType);
diff --git a/src/login/logind-session.h b/src/login/logind-session.h
index c9af5eb..7ecc9f0 100644
--- a/src/login/logind-session.h
+++ b/src/login/logind-session.h
@@ -55,6 +55,7 @@ typedef enum SessionType {
SESSION_TTY,
SESSION_X11,
SESSION_WAYLAND,
+SESSION_MIR,
_SESSION_TYPE_MAX,
_SESSION_TYPE_INVALID = -1
} SessionType;
diff --git a/src/systemd/sd-login.h b/src/systemd/sd-login.h
index a4ca231..776733a 100644
--- a/src/systemd/sd-login.h
+++ b/src/systemd/sd-login.h
@@ -138,7 +138,7 @@ int sd_session_get_seat(const char *session, char **seat);
/* Determine the (PAM) service name this session was registered by. */
int sd_session_get_service(const char *session, char **service);
-/* Determine the type of this session, i.e. one of tty, x11 or
unspecified. */
+/* Determine the type of this session, i.e. one of tty, x11,
wayland, mir or unspecified. */
int sd_session_get_type(const char *session, char **type);
/* Determine the class of this session, i.e. one of user, greeter
or lock-screen. */
--
1.9.1
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel