Exemplo n.º 1
0
    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
Exemplo n.º 2
0
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()
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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()
Exemplo n.º 5
0
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
Exemplo n.º 6
0
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
Exemplo n.º 7
0
        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():