From e8b212fe56f7f4e1778474777a7a2959244d0047 Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Tue, 17 Sep 2013 17:39:55 +0200 Subject: logind: add infrastructure to watch busnames If we want to track bus-names to allow exclusive resource-access, we need a way to get notified when a bus-name is gone. We make logind watch for NameOwnerChanged dbus events and check whether the name is currently watched. If it is, we remove it from the watch-list (notification for other objects can be added in follow-up patches). --- src/login/logind.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/login/logind.h') diff --git a/src/login/logind.h b/src/login/logind.h index 1a97351fff..a76936da17 100644 --- a/src/login/logind.h +++ b/src/login/logind.h @@ -51,6 +51,7 @@ struct Manager { Hashmap *users; Hashmap *inhibitors; Hashmap *buttons; + Hashmap *busnames; LIST_HEAD(Seat, seat_gc_queue); LIST_HEAD(Session, session_gc_queue); @@ -190,3 +191,6 @@ int manager_unit_is_active(Manager *manager, const char *unit); /* gperf lookup function */ const struct ConfigPerfItem* logind_gperf_lookup(const char *key, unsigned length); + +int manager_watch_busname(Manager *manager, const char *name); +void manager_drop_busname(Manager *manager, const char *name); -- cgit v1.2.3-54-g00ecf