summaryrefslogtreecommitdiffstats
path: root/src/ck-seat.h
Commit message (Collapse)AuthorAgeFilesLines
* Add seat.d/ callout directory and guarantee we dump the database before ↵HEADmasterLennart Poettering2009-08-121-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | callout invocation This adds a callout directory called seat.d/ that follows the basic session.d/ semantics but works on seats instead of sessions. As replacement for the old session.d/ 'session_active_changed' semantics seat.d/ knows 'seat_active_session_changed'. Which combines the two callouts necessary for session_active_changed into one. This has various advantages: it's not as racy, allows the suppressing of ACL permission changes when switching between sessions of the same user, reduces the amount of disk IO and finally is less ugly. This patch also moves all callout invocations into the CkManager. This has the advantage that we can guarantee to have fully dumped the CK database before the callout. In summary, the session.d/ directory will now get two types of callout invocations: session_added session_removed In contrast, seat.d/ gets three types: seat_added seat_removed seat_active_session_changed The 'seat_active_session_changed' callout type gets two sets of environment variables describing the old resp. the new session that is active. Either set can be left out if no session was active before, or no session will be active after the switch. This is similar to the logic behind D-Bus' NameOwnerChanged. This patch duplicates CkSeat's 'session-removed' signal into 'session-removed-full' (and friends). Reason for that is that the signal forwarded via D-Bus needs the session id as string while the callout code needs the session itself as object. Since at the time of invocation the CkSeat is no longer in the seats hashtable it is hence necessary to pass the object in as argument to the signal handlers, which makes this duplification necessary to not confuse dbus-glib. For a similar reason 'active-session-changed' is duplicated as well.
* database: write the console database to disk before signalling via dbusLennart Poettering2009-08-121-0/+2
| | | | | | | We simply change the order how the signal handlers for D-Bus and the database dumping are registered. According to the gobject docs it is guaranteed that the signal handlers are run in the same order as they are registered, so this should be safe and have the desired effect.
* get rid of ck_seat_set_active_session() prototype since no such function existsLennart Poettering2009-08-111-3/+0
|
* maintain a file with the dump of the local databaseDavid Zeuthen2007-10-101-0/+4
| | | | | | | | This feature is useful for programs wanting to read the database without going through the D-Bus interface. This is sometimes desirable when both performance and runtime dependencies are important. For security reasons the file is only readable for the super user.
* Add preliminary support for seats with devicesWilliam Jon McCann2007-07-201-6/+30
|
* add CanActivateSessions to Seat interfaceWilliam Jon McCann2007-03-191-16/+16
| | | | And associated documentation and added to test-fus.
* Initial importWilliam Jon McCann2006-10-251-0/+111