diff options
author | William Jon McCann <mccann@jhu.edu> | 2007-03-19 16:35:55 -0400 |
---|---|---|
committer | William Jon McCann <mccann@jhu.edu> | 2007-03-19 16:35:55 -0400 |
commit | 4c365a8e28adafd6619ada97d4239e9e6df429ab (patch) | |
tree | 07747bdf4b591fffdf753ab7242d8cfbd13f5b02 /src | |
parent | c40a87c622ac1543dc2d9cdccc651e33affadcfa (diff) |
add CanActivateSessions to Seat interface
And associated documentation and added to test-fus.
Diffstat (limited to 'src')
-rw-r--r-- | src/ck-seat.c | 14 | ||||
-rw-r--r-- | src/ck-seat.h | 32 | ||||
-rw-r--r-- | src/ck-seat.xml | 3 | ||||
-rwxr-xr-x | src/test-fus | 6 |
4 files changed, 39 insertions, 16 deletions
diff --git a/src/ck-seat.c b/src/ck-seat.c index 0b8ef80..06f0240 100644 --- a/src/ck-seat.c +++ b/src/ck-seat.c @@ -593,6 +593,20 @@ ck_seat_add_session (CkSeat *seat, } gboolean +ck_seat_can_activate_sessions (CkSeat *seat, + gboolean *can_activate, + GError **error) +{ + g_return_val_if_fail (CK_IS_SEAT (seat), FALSE); + + if (can_activate != NULL) { + *can_activate = (seat->priv->kind == CK_SEAT_KIND_STATIC); + } + + return TRUE; +} + +gboolean ck_seat_get_kind (CkSeat *seat, CkSeatKind *kind, GError **error) diff --git a/src/ck-seat.h b/src/ck-seat.h index 0b13eb4..4707bf9 100644 --- a/src/ck-seat.h +++ b/src/ck-seat.h @@ -89,22 +89,22 @@ gboolean ck_seat_set_active_session (CkSeat *seat, GError **error); /* exported methods */ -gboolean ck_seat_get_id (CkSeat *seat, - char **sid, - GError **error); -gboolean ck_seat_get_seat_type (CkSeat *seat, - char **type, - GError **error); -gboolean ck_seat_get_sessions (CkSeat *seat, - GPtrArray **sessions, - GError **error); -gboolean ck_seat_get_active_session (CkSeat *seat, - char **ssid, - GError **error); - -gboolean ck_seat_activate_session (CkSeat *seat, - const char *ssid, - DBusGMethodInvocation *context); +gboolean ck_seat_get_id (CkSeat *seat, + char **sid, + GError **error); +gboolean ck_seat_get_sessions (CkSeat *seat, + GPtrArray **sessions, + GError **error); +gboolean ck_seat_get_active_session (CkSeat *seat, + char **ssid, + GError **error); + +gboolean ck_seat_can_activate_sessions (CkSeat *seat, + gboolean *can_activate, + GError **error); +gboolean ck_seat_activate_session (CkSeat *seat, + const char *ssid, + DBusGMethodInvocation *context); G_END_DECLS diff --git a/src/ck-seat.xml b/src/ck-seat.xml index c6d3ed6..5fda057 100644 --- a/src/ck-seat.xml +++ b/src/ck-seat.xml @@ -10,6 +10,9 @@ <method name="GetActiveSession"> <arg name="ssid" direction="out" type="o"/> </method> + <method name="CanActivateSessions"> + <arg name="can_activate" direction="out" type="b"/> + </method> <method name="ActivateSession"> <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> <arg name="ssid" direction="in" type="o"/> diff --git a/src/test-fus b/src/test-fus index 3ac7921..f904ea9 100755 --- a/src/test-fus +++ b/src/test-fus @@ -45,6 +45,12 @@ seat.connect_to_signal ('SessionAdded', session_added_cb) seat.connect_to_signal ('SessionRemoved', session_removed_cb) seat.connect_to_signal ('ActiveSessionChanged', active_session_changed_cb) +can_fus = seat.CanActivateSessions() +if can_fus: + print "The current seat supports session switching" +else: + print "The current seat does not support session switching" + # Show a list of sessions on the current seat sessions = seat.GetSessions () for ssid in sessions: |