Esempio n. 1
0
    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)
Esempio n. 2
0
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)
Esempio n. 3
0
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())
Esempio n. 4
0
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())
Esempio n. 5
0
    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)