#from dbus.mainloop.pyqt5 import DBusQtMainLoop from dbus.mainloop.glib import DBusGMainLoop from PyQt5 import QtCore from PyQt5 import QtWidgets from . import cmd from .client import Client from . import constants from dra_client.views.mainwindow import MainWindow from dra_utils.dbusutil import dbus_has_owner from dra_utils.i18n import _ from dra_utils.log import client_log from dra_utils.notify import notify from dra_utils.screensaver import ScreenSaver is_client_dbus_running = lambda: dbus_has_owner(constants.DBUS_NAME) class ClientDBus(dbus.service.Object): def __init__(self): # Init dbus main loop #loop = DBusQtMainLoop(set_as_default=True) loop = DBusGMainLoop(set_as_default=True) session_bus = dbus.SessionBus(loop) bus_name = dbus.service.BusName(constants.DBUS_NAME, bus=session_bus) server_path = dbus.service.ObjectPath(constants.DBUS_CLIENT_PATH) super().__init__(bus_name=bus_name, object_path=server_path) self.properties = { constants.DBUS_ROOT_IFACE: self._get_root_iface_properties(),
# FIXME: QtMainLoop does not work #from dbus.mainloop.pyqt5 import DBusQtMainLoop from dbus.mainloop.glib import DBusGMainLoop from PyQt5 import QtCore from PyQt5 import QtWidgets from . import constants from . import server from .views.disconnectwindow import DisconnectWindow from dra_utils.i18n import _ from dra_utils.log import server_log from dra_utils.notify import notify from dra_utils.dbusutil import dbus_has_owner from dra_utils.screensaver import ScreenSaver is_server_dbus_running = lambda: dbus_has_owner(constants.DBUS_NAME) class ServerDBus(dbus.service.Object): def __init__(self): # Local Peer ID self._peer_id = '' # Connection status self._status = constants.SERVER_STATUS_UNINITIALIZED # Init dbus main loop #loop = DBusQtMainLoop(set_as_default=True) loop = DBusGMainLoop(set_as_default=True) session_bus = dbus.SessionBus(loop)
from dbus.mainloop.glib import DBusGMainLoop dbus.mainloop.glib.threads_init() from PyQt5 import QtCore from dra_utils import constants from dra_utils.dbusutil import dbus_has_owner from dra_utils.i18n import _ from dra_utils import network from dra_client.service.client_dbus import is_client_dbus_running from dra_server.server_dbus import is_server_dbus_running DBUS_NAME = 'com.deepin.daemon.Remoting.Manager' DBUS_PATH = '/com/deepin/daemon/Remoting/Manager' DBUS_ROOT_IFACE = 'com.deepin.daemon.Remoting.Manager' is_manager_dbus_running = lambda: dbus_has_owner(DBUS_NAME) class ManagerDBus(dbus.service.Object): '''Manager dbus interface''' def __init__(self): loop = DBusGMainLoop(set_as_default=True) session_bus = dbus.SessionBus(loop) bus_name = dbus.service.BusName(DBUS_NAME, bus=session_bus) server_path = dbus.service.ObjectPath(DBUS_PATH) super().__init__(bus_name=bus_name, object_path=server_path) self.properties = { DBUS_ROOT_IFACE: self._get_root_iface_properties(), } def _get_root_iface_properties(self):
dbus.mainloop.glib.threads_init() from PyQt5 import QtCore from dra_utils import constants from dra_utils.dbusutil import dbus_has_owner from dra_utils.i18n import _ from dra_utils import network from dra_client.service.client_dbus import is_client_dbus_running from dra_server.server_dbus import is_server_dbus_running DBUS_NAME = "com.deepin.daemon.Remoting.Manager" DBUS_PATH = "/com/deepin/daemon/Remoting/Manager" DBUS_ROOT_IFACE = "com.deepin.daemon.Remoting.Manager" is_manager_dbus_running = lambda: dbus_has_owner(DBUS_NAME) class ManagerDBus(dbus.service.Object): """Manager dbus interface""" def __init__(self): loop = DBusGMainLoop(set_as_default=True) session_bus = dbus.SessionBus(loop) bus_name = dbus.service.BusName(DBUS_NAME, bus=session_bus) server_path = dbus.service.ObjectPath(DBUS_PATH) super().__init__(bus_name=bus_name, object_path=server_path) self.properties = {DBUS_ROOT_IFACE: self._get_root_iface_properties()} def _get_root_iface_properties(self): return {"Status": (self._get_status, None)}