def handle(msg): '''Handle command message sent from browser side. Some of these messages will be converted to Qt mssage''' server_log.debug('[cmd] handle: %s' % msg) if not server_dbus: server_log.warn('[cmd] server_dubs not inited yet') print('[cmd] server dubs not inited yet:', server_dbus) return try: msg = json.loads(msg) except ValueError as e: server_log.warn('[cmd] failed to parse msg') return if msg['Type'] == constants.SERVER_MSG_ECHO: server_dbus.peer_id_changed(msg['Payload']) elif msg['Type'] == constants.SERVER_MSG_SHARING: server_dbus.StatusChanged(constants.SERVER_STATUS_SHARING) elif msg['Type'] == constants.SERVER_MSG_DISCONNECT: server_dbus.StatusChanged(constants.SERVER_STATUS_DISCONNECTED) elif msg['Type'] == constants.SERVER_MSG_WEBRTC_FAILED: # TODO: add SERVER_STATUS_WEBRTC_FAILED status server_dbus.StatusChanged(constants.SERVER_STATUS_DISCONNECTED) else: server_log.warn('handleBrowserCmd msg invalid: %s' % msg)
def peer_id_changed(self, new_peer_id): '''Peer id of server side changed''' server_log.debug('[dbus] peer_id_changed: %s' % new_peer_id) # If current peer id is OK, ignore new peer id if self._peer_id: return # TODO: validate peer_id if new_peer_id: self.StatusChanged(constants.SERVER_STATUS_PEERID_OK) self._peer_id = new_peer_id
def main(): if is_server_dbus_running(): print('server dbus is running, ignore') return server_dbus = ServerDBus() # FIXME: log service failed to dump log server_log.debug('Init server dbus: %s' % server_dbus) print('server dbus inited') app = QtCore.QCoreApplication(sys.argv) app.exec()
def Stop(self): '''Stop server side''' server_log.debug('[dbus] stop server') if self.server: self.server.stop() self.StatusChanged(constants.SERVER_STATUS_STOPPED) if self.screensaver_iface: self.screensaver_iface.uninhibit() self.kill()
def Stop(self): '''Stop server side''' server_log.debug('[dbus] stop server') if self.server: self.server.stop() self.StatusChanged(constants.SERVER_STATUS_STOPPED) if self.screensaver_iface: self.screensaver_iface.uninhibit() # If control panel is not shown, terminate within 1s QtCore.QTimer.singleShot(1000, self.kill)
def main(): if is_server_dbus_running(): server_log.warn('[server] server side is running') return # if is_client_dbus_running(): # server_log.warn('[server] client side is running') # return app = QtWidgets.QApplication(sys.argv) app.setApplicationName(_(APP_NAME)) server_dbus = ServerDBus() # FIXME: log service failed to dump log server_log.debug('Init server dbus: %s' % server_dbus) app.exec()
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 send_message(msg): '''Send clipboard data to browser''' if not connection: server_log.debug('[clipboard] connection is uninitialized') return connection.write_message(msg)
def on_close(self): server_log.debug('[keyboard] on close') reset_keyboard()
def PropertiesChanged(self, interface, changed_properties, invalidated_properties): server_log.debug('dbus properties changed: %s:%s:%s' % (interface, changed_properties, invalidated_properties))
def PropertiesChanged(self, interface, changed_properties, invalidated_properties): server_log.debug( 'dbus properties changed: %s:%s:%s' % (interface, changed_properties, invalidated_properties))