def callMethod(cls, method_name: str, signature: str, *args, service_path: str = DefaultServicePath, object_path: str = DefaultObjectPath, interface: str = DefaultInterface) -> Any: cls.__ensureDBusSetup() assert cls.__connection is not None if cls.__use_qt: message = QDBusMessage.createMethodCall(service_path, object_path, interface, method_name) message.setArguments(args) result = QDBusReply(cls.__connection.call(message)) if result.isValid(): return result.value() else: log.warning("Did not receive a valid reply for method call %s", method_name) log.warning(result.error().message()) return None else: return cls.__connection.call_blocking(service_path, object_path, interface, method_name, signature, args)
def call_cura(method, *args): dbus_service = "nl.ultimaker.cura" dbus_object = "/Application" dbus_interface = "nl.ultimaker.cura.Application" message = QDBusMessage.createMethodCall(dbus_service, dbus_object, dbus_interface, method) message.setArguments(args) QDBusConnection.sessionBus().call(message)
def sendRequest(req, *args): global BUS LOGGER.debug('sending request %r%r', req, args) method_args = [req] method_args.extend(args) msg = QDBusMessage.createMethodCall('re.indigo.eye', '/', 're.indigo.eye', 'request') msg.setArguments(method_args) BUS = QDBusConnection.sessionBus() reply = BUS.call(msg) if reply.type() == QDBusMessage.ErrorMessage: raise ValueError(reply.errorMessage()) return list(reply.arguments())
def sendRequest(req, *args): global BUS LOGGER.debug('sending request %r%r', req, args) method_args = [req] method_args.extend(args) msg = QDBusMessage.createMethodCall('re.indigo.eye', '/', 're.indigo.eye', 'request') msg.setArguments(method_args) BUS = QDBusConnection.sessionBus() reply = BUS.call(msg) if reply.type() == QDBusMessage.ErrorMessage: raise ValueError(reply.errorMessage()) return list(reply.arguments())
def callAsync(cls, method_name: str, success_callback: Callable[..., None], error_callback: Callable[..., None], signature: str, *args, service_path: str = DefaultServicePath, object_path: str = DefaultObjectPath, interface: str = DefaultInterface) -> None: cls.__ensureDBusSetup() assert cls.__connection is not None if cls.__use_qt: assert cls.__signal_forwarder is not None message = QDBusMessage.createMethodCall(service_path, object_path, interface, method_name) message.setArguments(args) cls.__signal_forwarder.asyncCall(message, success_callback, error_callback) else: cls.__connection.call_async(service_path, object_path, interface, method_name, signature, args, success_callback, error_callback)