def activate(self): try: import dbus from common.dbus_support import system_bus self.bus = system_bus.bus() if 'org.wicd.daemon' not in self.bus.list_names(): return wicd_object = self.bus.get_object('org.wicd.daemon', '/org/wicd/daemon') self.props = dbus.Interface(wicd_object, "org.freedesktop.DBus.Properties") self.bus.add_signal_receiver(self.state_changed, 'StatusChanged', 'org.wicd.daemon', 'org.wicd.daemon', '/org/wicd/daemon') except dbus.DBusException: pass
def get_inhibitor(): """Ask for a suspend delay inhibitor""" from common.dbus_support import system_bus, dbus bus = system_bus.bus() global fd if fd >= 0: # someting is wrong, we haven't closed the previous file descriptor # and we ask for yet another one log.warning("We are about to ask for a sleep inhibitor, but we seem " "to be holding one already") login_object = bus.get_object("org.freedesktop.login1", "/org/freedesktop/login1") login_manager = dbus.Interface(login_object, "org.freedesktop.login1.Manager") ret = login_manager.Inhibit("sleep", "Gajim", "Disconnect from the network", "delay") fd = ret.take()
def set_listener(): '''Set up a listener for suspend signals @return bool whether it succeeded ''' from common.dbus_support import system_bus bus = system_bus.bus() if not 'org.freedesktop.login1' in bus.list_names(): # logind is not present log.debug("logind is not on D-Bus, not activating logind listener") return False bus.add_signal_receiver(on_suspend, signal_name='PrepareForSleep', bus_name='org.freedesktop.login1', path='/org/freedesktop/login1', dbus_interface='org.freedesktop.login1.Manager') return True
def get_inhibitor(): '''Ask for a suspend delay inhibitor''' from common.dbus_support import system_bus, dbus bus = system_bus.bus() global fd if fd >= 0: # someting is wrong, we haven't closed the previous file descriptor # and we ask for yet another one log.warning('We are about to ask for a sleep inhibitor, but we seem ' 'to be holding one already') login_object = bus.get_object('org.freedesktop.login1', '/org/freedesktop/login1') login_manager = dbus.Interface(login_object, 'org.freedesktop.login1.Manager') ret = login_manager.Inhibit('sleep', 'Gajim', 'Disconnect from the network', 'delay') fd = ret.take()
def set_listener(): """Set up a listener for suspend signals @return bool whether it succeeded """ from common.dbus_support import system_bus bus = system_bus.bus() if not "org.freedesktop.login1" in bus.list_names(): # logind is not present log.debug("logind is not on D-Bus, not activating logind listener") return False bus.add_signal_receiver( on_suspend, signal_name="PrepareForSleep", bus_name="org.freedesktop.login1", path="/org/freedesktop/login1", dbus_interface="org.freedesktop.login1.Manager", ) return True
from common import dbus_support from common import gajim def on_suspend(*args, **kwargs): for name, conn in gajim.connections.items(): if gajim.account_is_connected(name): conn.old_show = gajim.SHOW_LIST[conn.connected] st = conn.status conn.change_status('offline', _('Machine going to sleep')) conn.status = st conn.time_to_reconnect = 5 if dbus_support.supported: import dbus try: from common.dbus_support import system_bus bus = system_bus.bus() if 'org.freedesktop.UPower' in bus.list_names(): up_object = bus.get_object('org.freedesktop.UPower', '/org/freedesktop/UPower') bus.add_signal_receiver(on_suspend, 'Sleeping', 'org.freedesktop.UPower', 'org.freedesktop.UPower', '/org/freedesktop/UPower') supported = True except Exception: pass
for connection in gajim.connections.values(): if gajim.config.get_per('accounts', connection.name, 'listen_to_network_manager') and connection.connected > 1: connection._disconnectedReconnCB() supported = False from common import dbus_support if dbus_support.supported: import dbus try: from common.dbus_support import system_bus bus = system_bus.bus() if 'org.freedesktop.NetworkManager' in bus.list_names(): nm_object = bus.get_object('org.freedesktop.NetworkManager', '/org/freedesktop/NetworkManager') props = dbus.Interface(nm_object, "org.freedesktop.DBus.Properties") bus.add_signal_receiver(state_changed, 'StateChanged', 'org.freedesktop.NetworkManager', 'org.freedesktop.NetworkManager', '/org/freedesktop/NetworkManager') supported = True except dbus.DBusException: try: if 'org.freedesktop.NetworkManager' in bus.list_names():