def Start(self):
        '''Start client side'''
        client_log.debug('[dbus] start client')

        if self._status >= constants.CLIENT_STATUS_STARTED:
            client_log.warn('[dbus] already started: %s' % self._status)
            return

        self.main_window = MainWindow()

        # Stop host service when main window is closed
        if not self.main_window:
            client_host.critical('[dbus] Failed to init main window!')
            self.Stop()
        self.main_window.windowClosed.connect(self.Stop)
        self.main_window.show()

        self.client_host = Client(self)
        self.client_host.start()

        self.StatusChanged(constants.CLIENT_STATUS_STARTED)

        # Init webserver-connection-timed-out timer
        QtCore.QTimer.singleShot(constants.WEBSERVER_CONNECTION_TIMEOUT,
                                 self.on_webserver_connection_timeout)

        screensaver_iface = ScreenSaver()
        if screensaver_iface.check():
            self.screensaver_iface = screensaver_iface
            self.screensaver_iface.inhibit()
    def Start(self):
        '''Start client side'''
        client_log.debug('[dbus] start client')

        if self._status >= constants.CLIENT_STATUS_STARTED:
            client_log.warn('[dbus] already started: %s' % self._status)
            return

        self.main_window = MainWindow()

        # Stop host service when main window is closed
        if not self.main_window:
            client_host.critical('[dbus] Failed to init main window!')
            self.Stop()
        self.main_window.windowClosed.connect(self.Stop)
        self.main_window.show()

        self.client_host = Client(self)
        self.client_host.start()

        self.StatusChanged(constants.CLIENT_STATUS_STARTED)

        # Init webserver-connection-timed-out timer
        QtCore.QTimer.singleShot(constants.WEBSERVER_CONNECTION_TIMEOUT,
                                 self.on_webserver_connection_timeout)

        screensaver_iface = ScreenSaver()
        if screensaver_iface.check():
            self.screensaver_iface = screensaver_iface
            self.screensaver_iface.inhibit()
    def Start(self):
        '''Start server side'''
        if self.server:
            server_log.warn('[dbus] server is already running, ignore...')
            return
        server_log.debug('[dbus] start server')
        self.server = server.Server(self)
        self.server.start()
        self.StatusChanged(constants.SERVER_STATUS_STARTED)

        # Init connection-timed-out timer
        QtCore.QTimer.singleShot(constants.WEBSERVER_CONNECTION_TIMEOUT,
                                 self.on_connection_timeout)

        screensaver_iface = ScreenSaver()
        if screensaver_iface.check():
            self.screensaver_iface = screensaver_iface
            self.screensaver_iface.inhibit()
    def Start(self):
        '''Start server side'''
        if self.server:
            server_log.warn('[dbus] server is already running, ignore...')
            return
        server_log.debug('[dbus] start server')
        self.server = server.Server(self)
        self.server.start()
        self.StatusChanged(constants.SERVER_STATUS_STARTED)

        # Init connection-timed-out timer
        QtCore.QTimer.singleShot(constants.WEBSERVER_CONNECTION_TIMEOUT,
                                 self.on_connection_timeout)

        screensaver_iface = ScreenSaver()
        if screensaver_iface.check():
            self.screensaver_iface = screensaver_iface
            self.screensaver_iface.inhibit()
#!/usr/bin/env python3

import sys
sys.path.insert(0, '..')

from PyQt5 import QtCore

from dra_utils.screensaver import ScreenSaver

if __name__ == '__main__':
    app = QtCore.QCoreApplication([])
    s = ScreenSaver()
    print('check:', s.check())
    sid = s.inhibit()
    print('sid:', sid)
    app.exec()