:right-sidebar: True DBusProxy =================================================================== .. currentmodule:: gi.repository.Gio .. versionadded:: 2.26 .. class:: DBusProxy(**properties: ~typing.Any) :no-contents-entry: Superclasses: :class:`~gi.repository.GObject.Object` Implemented Interfaces: :class:`~gi.repository.Gio.AsyncInitable`, :class:`~gi.repository.Gio.DBusInterface`, :class:`~gi.repository.Gio.Initable` Provide comfortable and pythonic method calls. This marshalls the method arguments into a GVariant, invokes the call_sync() method on the DBusProxy object, and unmarshalls the result GVariant back into a Python tuple. The first argument always needs to be the D-Bus signature tuple of the method call. Example: proxy = Gio.DBusProxy.new_sync(...) result = proxy.MyMethod('(is)', 42, 'hello') The exception are methods which take no arguments, like proxy.MyMethod('()'). For these you can omit the signature and just write proxy.MyMethod(). Optional keyword arguments: - timeout: timeout for the call in milliseconds (default to D-Bus timeout) - flags: Combination of Gio.DBusCallFlags.* - result_handler: Do an asynchronous method call and invoke result_handler(proxy_object, result, user_data) when it finishes. - error_handler: If the asynchronous call raises an exception, error_handler(proxy_object, exception, user_data) is called when it finishes. If error_handler is not given, result_handler is called with the exception object as result instead. - user_data: Optional user data to pass to result_handler for asynchronous calls. Example for asynchronous calls: def mymethod_done(proxy, result, user_data): if isinstance(result, Exception): # handle error else: # do something with result proxy.MyMethod('(is)', 42, 'hello', result_handler=mymethod_done, user_data='data') Constructors ------------ .. rst-class:: interim-class .. class:: DBusProxy :no-index: .. classmethod:: new_finish(res: ~gi.repository.Gio.AsyncResult) -> ~gi.repository.Gio.DBusProxy Finishes creating a :obj:`~gi.repository.Gio.DBusProxy`\. .. versionadded:: 2.26 :param res: A :obj:`~gi.repository.Gio.AsyncResult` obtained from the :obj:`~gi.repository.Gio.AsyncReadyCallback` function passed to :func:`~gi.repository.Gio.DBusProxy.new`. .. classmethod:: new_for_bus_finish(res: ~gi.repository.Gio.AsyncResult) -> ~gi.repository.Gio.DBusProxy Finishes creating a :obj:`~gi.repository.Gio.DBusProxy`\. .. versionadded:: 2.26 :param res: A :obj:`~gi.repository.Gio.AsyncResult` obtained from the :obj:`~gi.repository.Gio.AsyncReadyCallback` function passed to :func:`~gi.repository.Gio.DBusProxy.new_for_bus`. .. classmethod:: new_for_bus_sync(bus_type: ~gi.repository.Gio.BusType, flags: ~gi.repository.Gio.DBusProxyFlags, info: ~gi.repository.Gio.DBusInterfaceInfo | None, name: str, object_path: str, interface_name: str, cancellable: ~gi.repository.Gio.Cancellable | None = None) -> ~gi.repository.Gio.DBusProxy Like :func:`~gi.repository.Gio.DBusProxy.new_sync` but takes a :obj:`~gi.repository.Gio.BusType` instead of a :obj:`~gi.repository.Gio.DBusConnection`\. :obj:`~gi.repository.Gio.DBusProxy` is used in this [example][gdbus-wellknown-proxy]. .. versionadded:: 2.26 :param bus_type: A :obj:`~gi.repository.Gio.BusType`\. :param flags: Flags used when constructing the proxy. :param info: A :obj:`~gi.repository.Gio.DBusInterfaceInfo` specifying the minimal interface that ``proxy`` conforms to or :const:`None`. :param name: A bus name (well-known or unique). :param object_path: An object path. :param interface_name: A D-Bus interface name. :param cancellable: A :obj:`~gi.repository.Gio.Cancellable` or :const:`None`. .. classmethod:: new_sync(connection: ~gi.repository.Gio.DBusConnection, flags: ~gi.repository.Gio.DBusProxyFlags, info: ~gi.repository.Gio.DBusInterfaceInfo | None, name: str | None, object_path: str, interface_name: str, cancellable: ~gi.repository.Gio.Cancellable | None = None) -> ~gi.repository.Gio.DBusProxy Creates a proxy for accessing ``interface_name`` on the remote object at ``object_path`` owned by ``name`` at ``connection`` and synchronously loads D-Bus properties unless the :const:`~gi.repository.Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES` flag is used. If the :const:`~gi.repository.Gio.DBusProxyFlags.DO_NOT_CONNECT_SIGNALS` flag is not set, also sets up match rules for signals. Connect to the :obj:`~gi.repository.Gio.DBusProxy`\::g-signal signal to handle signals from the remote object. If both :const:`~gi.repository.Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES` and :const:`~gi.repository.Gio.DBusProxyFlags.DO_NOT_CONNECT_SIGNALS` are set, this constructor is guaranteed to return immediately without blocking. If ``name`` is a well-known name and the :const:`~gi.repository.Gio.DBusProxyFlags.DO_NOT_AUTO_START` and :const:`~gi.repository.Gio.DBusProxyFlags.DO_NOT_AUTO_START_AT_CONSTRUCTION` flags aren't set and no name owner currently exists, the message bus will be requested to launch a name owner for the name. This is a synchronous failable constructor. See :func:`~gi.repository.Gio.DBusProxy.new` and :func:`~gi.repository.Gio.DBusProxy.new_finish` for the asynchronous version. :obj:`~gi.repository.Gio.DBusProxy` is used in this [example][gdbus-wellknown-proxy]. .. versionadded:: 2.26 :param connection: A :obj:`~gi.repository.Gio.DBusConnection`\. :param flags: Flags used when constructing the proxy. :param info: A :obj:`~gi.repository.Gio.DBusInterfaceInfo` specifying the minimal interface that ``proxy`` conforms to or :const:`None`. :param name: A bus name (well-known or unique) or :const:`None` if ``connection`` is not a message bus connection. :param object_path: An object path. :param interface_name: A D-Bus interface name. :param cancellable: A :obj:`~gi.repository.Gio.Cancellable` or :const:`None`. Methods ------- .. rst-class:: interim-class .. class:: DBusProxy :no-index: .. method:: call(method_name: str, parameters: ~gi.repository.GLib.Variant | None, flags: ~gi.repository.Gio.DBusCallFlags, timeout_msec: int, cancellable: ~gi.repository.Gio.Cancellable | None = None, callback: ~typing.Callable[[~gi.repository.GObject.Object | None, ~gi.repository.Gio.AsyncResult, ~typing.Any], None] | None = None, user_data: ~typing.Any = None) -> None Asynchronously invokes the ``method_name`` method on ``proxy``\. If ``method_name`` contains any dots, then ``name`` is split into interface and method name parts. This allows using ``proxy`` for invoking methods on other interfaces. If the :obj:`~gi.repository.Gio.DBusConnection` associated with ``proxy`` is closed then the operation will fail with :const:`~gi.repository.Gio.IOErrorEnum.CLOSED`. If ``cancellable`` is canceled, the operation will fail with :const:`~gi.repository.Gio.IOErrorEnum.CANCELLED`. If ``parameters`` contains a value not compatible with the D-Bus protocol, the operation fails with :const:`~gi.repository.Gio.IOErrorEnum.INVALID_ARGUMENT`. If the ``parameters`` :obj:`~gi.repository.GLib.Variant` is floating, it is consumed. This allows convenient 'inline' use of :func:`~gi.repository.GLib.Variant.new`, e.g.: .. code-block:: C :dedent: g_dbus_proxy_call (proxy, "TwoStrings", g_variant_new ("(ss)", "Thing One", "Thing Two"), G_DBUS_CALL_FLAGS_NONE, -1, NULL, (GAsyncReadyCallback) two_strings_done, &data); If ``proxy`` has an expected interface (see :obj:`~gi.repository.Gio.DBusProxy`\:g-interface-info) and ``method_name`` is referenced by it, then the return value is checked against the return type. This is an asynchronous method. When the operation is finished, ``callback`` will be invoked in the [thread-default main context][g-main-context-push-thread-default] of the thread you are calling this method from. You can then call :func:`~gi.repository.Gio.DBusProxy.call_finish` to get the result of the operation. See :func:`~gi.repository.Gio.DBusProxy.call_sync` for the synchronous version of this method. If ``callback`` is :const:`None` then the D-Bus method call message will be sent with the :const:`~gi.repository.Gio.DBusMessageFlags.NO_REPLY_EXPECTED` flag set. .. versionadded:: 2.26 :param method_name: Name of method to invoke. :param parameters: A :obj:`~gi.repository.GLib.Variant` tuple with parameters for the signal or :const:`None` if not passing parameters. :param flags: Flags from the :obj:`~gi.repository.Gio.DBusCallFlags` enumeration. :param timeout_msec: The timeout in milliseconds (with %G_MAXINT meaning "infinite") or -1 to use the proxy default timeout. :param cancellable: A :obj:`~gi.repository.Gio.Cancellable` or :const:`None`. :param callback: A :obj:`~gi.repository.Gio.AsyncReadyCallback` to call when the request is satisfied or :const:`None` if you don't care about the result of the method invocation. :param user_data: The data to pass to ``callback``\. .. method:: call_finish(res: ~gi.repository.Gio.AsyncResult) -> ~gi.repository.GLib.Variant Finishes an operation started with :func:`~gi.repository.Gio.DBusProxy.call`. .. versionadded:: 2.26 :param res: A :obj:`~gi.repository.Gio.AsyncResult` obtained from the :obj:`~gi.repository.Gio.AsyncReadyCallback` passed to :func:`~gi.repository.Gio.DBusProxy.call`. .. method:: call_sync(method_name: str, parameters: ~gi.repository.GLib.Variant | None, flags: ~gi.repository.Gio.DBusCallFlags, timeout_msec: int, cancellable: ~gi.repository.Gio.Cancellable | None = None) -> ~gi.repository.GLib.Variant Synchronously invokes the ``method_name`` method on ``proxy``\. If ``method_name`` contains any dots, then ``name`` is split into interface and method name parts. This allows using ``proxy`` for invoking methods on other interfaces. If the :obj:`~gi.repository.Gio.DBusConnection` associated with ``proxy`` is disconnected then the operation will fail with :const:`~gi.repository.Gio.IOErrorEnum.CLOSED`. If ``cancellable`` is canceled, the operation will fail with :const:`~gi.repository.Gio.IOErrorEnum.CANCELLED`. If ``parameters`` contains a value not compatible with the D-Bus protocol, the operation fails with :const:`~gi.repository.Gio.IOErrorEnum.INVALID_ARGUMENT`. If the ``parameters`` :obj:`~gi.repository.GLib.Variant` is floating, it is consumed. This allows convenient 'inline' use of :func:`~gi.repository.GLib.Variant.new`, e.g.: .. code-block:: C :dedent: g_dbus_proxy_call_sync (proxy, "TwoStrings", g_variant_new ("(ss)", "Thing One", "Thing Two"), G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); The calling thread is blocked until a reply is received. See :func:`~gi.repository.Gio.DBusProxy.call` for the asynchronous version of this method. If ``proxy`` has an expected interface (see :obj:`~gi.repository.Gio.DBusProxy`\:g-interface-info) and ``method_name`` is referenced by it, then the return value is checked against the return type. .. versionadded:: 2.26 :param method_name: Name of method to invoke. :param parameters: A :obj:`~gi.repository.GLib.Variant` tuple with parameters for the signal or :const:`None` if not passing parameters. :param flags: Flags from the :obj:`~gi.repository.Gio.DBusCallFlags` enumeration. :param timeout_msec: The timeout in milliseconds (with %G_MAXINT meaning "infinite") or -1 to use the proxy default timeout. :param cancellable: A :obj:`~gi.repository.Gio.Cancellable` or :const:`None`. .. method:: call_with_unix_fd_list(method_name: str, parameters: ~gi.repository.GLib.Variant | None, flags: ~gi.repository.Gio.DBusCallFlags, timeout_msec: int, fd_list: ~gi.repository.Gio.UnixFDList | None = None, cancellable: ~gi.repository.Gio.Cancellable | None = None, callback: ~typing.Callable[[~gi.repository.GObject.Object | None, ~gi.repository.Gio.AsyncResult, ~typing.Any], None] | None = None, user_data: ~typing.Any = None) -> None Like :func:`~gi.repository.Gio.DBusProxy.call` but also takes a :obj:`~gi.repository.Gio.UnixFDList` object. This method is only available on UNIX. .. versionadded:: 2.30 :param method_name: Name of method to invoke. :param parameters: A :obj:`~gi.repository.GLib.Variant` tuple with parameters for the signal or :const:`None` if not passing parameters. :param flags: Flags from the :obj:`~gi.repository.Gio.DBusCallFlags` enumeration. :param timeout_msec: The timeout in milliseconds (with %G_MAXINT meaning "infinite") or -1 to use the proxy default timeout. :param fd_list: A :obj:`~gi.repository.Gio.UnixFDList` or :const:`None`. :param cancellable: A :obj:`~gi.repository.Gio.Cancellable` or :const:`None`. :param callback: A :obj:`~gi.repository.Gio.AsyncReadyCallback` to call when the request is satisfied or :const:`None` if you don't care about the result of the method invocation. :param user_data: The data to pass to ``callback``\. .. method:: call_with_unix_fd_list_finish(res: ~gi.repository.Gio.AsyncResult) -> ~typing.Tuple[~gi.repository.GLib.Variant, ~gi.repository.Gio.UnixFDList] Finishes an operation started with :func:`~gi.repository.Gio.DBusProxy.call_with_unix_fd_list`. .. versionadded:: 2.30 :param res: A :obj:`~gi.repository.Gio.AsyncResult` obtained from the :obj:`~gi.repository.Gio.AsyncReadyCallback` passed to :func:`~gi.repository.Gio.DBusProxy.call_with_unix_fd_list`. .. method:: call_with_unix_fd_list_sync(method_name: str, parameters: ~gi.repository.GLib.Variant | None, flags: ~gi.repository.Gio.DBusCallFlags, timeout_msec: int, fd_list: ~gi.repository.Gio.UnixFDList | None = None, cancellable: ~gi.repository.Gio.Cancellable | None = None) -> ~typing.Tuple[~gi.repository.GLib.Variant, ~gi.repository.Gio.UnixFDList] Like :func:`~gi.repository.Gio.DBusProxy.call_sync` but also takes and returns :obj:`~gi.repository.Gio.UnixFDList` objects. This method is only available on UNIX. .. versionadded:: 2.30 :param method_name: Name of method to invoke. :param parameters: A :obj:`~gi.repository.GLib.Variant` tuple with parameters for the signal or :const:`None` if not passing parameters. :param flags: Flags from the :obj:`~gi.repository.Gio.DBusCallFlags` enumeration. :param timeout_msec: The timeout in milliseconds (with %G_MAXINT meaning "infinite") or -1 to use the proxy default timeout. :param fd_list: A :obj:`~gi.repository.Gio.UnixFDList` or :const:`None`. :param cancellable: A :obj:`~gi.repository.Gio.Cancellable` or :const:`None`. .. method:: do_g_properties_changed(self, changed_properties: ~gi.repository.GLib.Variant, invalidated_properties: str) -> None :param changed_properties: :param invalidated_properties: .. method:: do_g_signal(self, sender_name: str, signal_name: str, parameters: ~gi.repository.GLib.Variant) -> None :param sender_name: :param signal_name: :param parameters: .. method:: get_cached_property(property_name: str) -> ~gi.repository.GLib.Variant | None Looks up the value for a property from the cache. This call does no blocking IO. If ``proxy`` has an expected interface (see :obj:`~gi.repository.Gio.DBusProxy`\:g-interface-info) and ``property_name`` is referenced by it, then ``value`` is checked against the type of the property. .. versionadded:: 2.26 :param property_name: Property name. .. method:: get_cached_property_names() -> list[str] | None Gets the names of all cached properties on ``proxy``\. .. versionadded:: 2.26 .. method:: get_connection() -> ~gi.repository.Gio.DBusConnection Gets the connection ``proxy`` is for. .. versionadded:: 2.26 .. method:: get_default_timeout() -> int Gets the timeout to use if -1 (specifying default timeout) is passed as ``timeout_msec`` in the :func:`~gi.repository.Gio.DBusProxy.call` and :func:`~gi.repository.Gio.DBusProxy.call_sync` functions. See the :obj:`~gi.repository.Gio.DBusProxy`\:g-default-timeout property for more details. .. versionadded:: 2.26 .. method:: get_flags() -> ~gi.repository.Gio.DBusProxyFlags Gets the flags that ``proxy`` was constructed with. .. versionadded:: 2.26 .. method:: get_interface_info() -> ~gi.repository.Gio.DBusInterfaceInfo | None Returns the :obj:`~gi.repository.Gio.DBusInterfaceInfo`\, if any, specifying the interface that ``proxy`` conforms to. See the :obj:`~gi.repository.Gio.DBusProxy`\:g-interface-info property for more details. .. versionadded:: 2.26 .. method:: get_interface_name() -> str Gets the D-Bus interface name ``proxy`` is for. .. versionadded:: 2.26 .. method:: get_name() -> str | None Gets the name that ``proxy`` was constructed for. When connected to a message bus, this will usually be non-:const:`None`. However, it may be :const:`None` for a proxy that communicates using a peer-to-peer pattern. .. versionadded:: 2.26 .. method:: get_name_owner() -> str | None The unique name that owns the name that ``proxy`` is for or :const:`None` if no-one currently owns that name. You may connect to the :obj:`~gi.repository.GObject.Object`\::notify signal to track changes to the :obj:`~gi.repository.Gio.DBusProxy`\:g-name-owner property. .. versionadded:: 2.26 .. method:: get_object_path() -> str Gets the object path ``proxy`` is for. .. versionadded:: 2.26 .. classmethod:: new(flags: ~gi.repository.Gio.DBusProxyFlags, info: ~gi.repository.Gio.DBusInterfaceInfo | None, name: str | None, object_path: str, interface_name: str, cancellable: ~gi.repository.Gio.Cancellable | None = None, callback: ~typing.Callable[[~gi.repository.GObject.Object | None, ~gi.repository.Gio.AsyncResult, ~typing.Any], None] | None = None, user_data: ~typing.Any = None) -> None Creates a proxy for accessing ``interface_name`` on the remote object at ``object_path`` owned by ``name`` at ``connection`` and asynchronously loads D-Bus properties unless the :const:`~gi.repository.Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES` flag is used. Connect to the :obj:`~gi.repository.Gio.DBusProxy`\::g-properties-changed signal to get notified about property changes. If the :const:`~gi.repository.Gio.DBusProxyFlags.DO_NOT_CONNECT_SIGNALS` flag is not set, also sets up match rules for signals. Connect to the :obj:`~gi.repository.Gio.DBusProxy`\::g-signal signal to handle signals from the remote object. If both :const:`~gi.repository.Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES` and :const:`~gi.repository.Gio.DBusProxyFlags.DO_NOT_CONNECT_SIGNALS` are set, this constructor is guaranteed to complete immediately without blocking. If ``name`` is a well-known name and the :const:`~gi.repository.Gio.DBusProxyFlags.DO_NOT_AUTO_START` and :const:`~gi.repository.Gio.DBusProxyFlags.DO_NOT_AUTO_START_AT_CONSTRUCTION` flags aren't set and no name owner currently exists, the message bus will be requested to launch a name owner for the name. This is a failable asynchronous constructor - when the proxy is ready, ``callback`` will be invoked and you can use :func:`~gi.repository.Gio.DBusProxy.new_finish` to get the result. See :func:`~gi.repository.Gio.DBusProxy.new_sync` and for a synchronous version of this constructor. :obj:`~gi.repository.Gio.DBusProxy` is used in this [example][gdbus-wellknown-proxy]. .. versionadded:: 2.26 :param flags: Flags used when constructing the proxy. :param info: A :obj:`~gi.repository.Gio.DBusInterfaceInfo` specifying the minimal interface that ``proxy`` conforms to or :const:`None`. :param name: A bus name (well-known or unique) or :const:`None` if ``connection`` is not a message bus connection. :param object_path: An object path. :param interface_name: A D-Bus interface name. :param cancellable: A :obj:`~gi.repository.Gio.Cancellable` or :const:`None`. :param callback: Callback function to invoke when the proxy is ready. :param user_data: User data to pass to ``callback``\. .. classmethod:: new_for_bus(flags: ~gi.repository.Gio.DBusProxyFlags, info: ~gi.repository.Gio.DBusInterfaceInfo | None, name: str, object_path: str, interface_name: str, cancellable: ~gi.repository.Gio.Cancellable | None = None, callback: ~typing.Callable[[~gi.repository.GObject.Object | None, ~gi.repository.Gio.AsyncResult, ~typing.Any], None] | None = None, user_data: ~typing.Any = None) -> None Like :func:`~gi.repository.Gio.DBusProxy.new` but takes a :obj:`~gi.repository.Gio.BusType` instead of a :obj:`~gi.repository.Gio.DBusConnection`\. :obj:`~gi.repository.Gio.DBusProxy` is used in this [example][gdbus-wellknown-proxy]. .. versionadded:: 2.26 :param flags: Flags used when constructing the proxy. :param info: A :obj:`~gi.repository.Gio.DBusInterfaceInfo` specifying the minimal interface that ``proxy`` conforms to or :const:`None`. :param name: A bus name (well-known or unique). :param object_path: An object path. :param interface_name: A D-Bus interface name. :param cancellable: A :obj:`~gi.repository.Gio.Cancellable` or :const:`None`. :param callback: Callback function to invoke when the proxy is ready. :param user_data: User data to pass to ``callback``\. .. method:: set_cached_property(property_name: str, value: ~gi.repository.GLib.Variant | None = None) -> None If ``value`` is not :const:`None`, sets the cached value for the property with name ``property_name`` to the value in ``value``\. If ``value`` is :const:`None`, then the cached value is removed from the property cache. If ``proxy`` has an expected interface (see :obj:`~gi.repository.Gio.DBusProxy`\:g-interface-info) and ``property_name`` is referenced by it, then ``value`` is checked against the type of the property. If the ``value`` :obj:`~gi.repository.GLib.Variant` is floating, it is consumed. This allows convenient 'inline' use of :func:`~gi.repository.GLib.Variant.new`, e.g. .. code-block:: C :dedent: g_dbus_proxy_set_cached_property (proxy, "SomeProperty", g_variant_new ("(si)", "A String", 42)); Normally you will not need to use this method since ``proxy`` is tracking changes using the ``org.freedesktop.DBus.Properties.PropertiesChanged`` D-Bus signal. However, for performance reasons an object may decide to not use this signal for some properties and instead use a proprietary out-of-band mechanism to transmit changes. As a concrete example, consider an object with a property ``ChatroomParticipants`` which is an array of strings. Instead of transmitting the same (long) array every time the property changes, it is more efficient to only transmit the delta using e.g. signals ``ChatroomParticipantJoined(String name)`` and ``ChatroomParticipantParted(String name)``\. .. versionadded:: 2.26 :param property_name: Property name. :param value: Value for the property or :const:`None` to remove it from the cache. .. method:: set_default_timeout(timeout_msec: int) -> None Sets the timeout to use if -1 (specifying default timeout) is passed as ``timeout_msec`` in the :func:`~gi.repository.Gio.DBusProxy.call` and :func:`~gi.repository.Gio.DBusProxy.call_sync` functions. See the :obj:`~gi.repository.Gio.DBusProxy`\:g-default-timeout property for more details. .. versionadded:: 2.26 :param timeout_msec: Timeout in milliseconds. .. method:: set_interface_info(info: ~gi.repository.Gio.DBusInterfaceInfo | None = None) -> None Ensure that interactions with ``proxy`` conform to the given interface. See the :obj:`~gi.repository.Gio.DBusProxy`\:g-interface-info property for more details. .. versionadded:: 2.26 :param info: Minimum interface this proxy conforms to or :const:`None` to unset. Properties ---------- .. rst-class:: interim-class .. class:: DBusProxy :no-index: .. attribute:: props.g_bus_type :type: ~gi.repository.Gio.BusType The type of the None singleton. .. versionadded:: 2.26 .. attribute:: props.g_connection :type: ~gi.repository.Gio.DBusConnection The type of the None singleton. .. versionadded:: 2.26 .. attribute:: props.g_default_timeout :type: int The type of the None singleton. .. versionadded:: 2.26 .. attribute:: props.g_flags :type: ~gi.repository.Gio.DBusProxyFlags The type of the None singleton. .. versionadded:: 2.26 .. attribute:: props.g_interface_info :type: ~gi.repository.Gio.DBusInterfaceInfo The type of the None singleton. .. versionadded:: 2.26 .. attribute:: props.g_interface_name :type: str The type of the None singleton. .. versionadded:: 2.26 .. attribute:: props.g_name :type: str The type of the None singleton. .. versionadded:: 2.26 .. attribute:: props.g_name_owner :type: str The type of the None singleton. .. versionadded:: 2.26 .. attribute:: props.g_object_path :type: str The type of the None singleton. .. versionadded:: 2.26 Signals ------- .. rst-class:: interim-class .. class:: DBusProxy.signals :no-index: .. method:: g_properties_changed(changed_properties: ~gi.repository.GLib.Variant, invalidated_properties: list[str]) -> None The type of the None singleton. .. versionadded:: 2.26 :param changed_properties: A :obj:`~gi.repository.GLib.Variant` containing the properties that changed (type: ``a{sv}``\) :param invalidated_properties: A :const:`None` terminated array of properties that was invalidated .. method:: g_signal(sender_name: str | None, signal_name: str, parameters: ~gi.repository.GLib.Variant) -> None The type of the None singleton. .. versionadded:: 2.26 :param sender_name: The sender of the signal or :const:`None` if the connection is not a bus connection. :param signal_name: The name of the signal. :param parameters: A :obj:`~gi.repository.GLib.Variant` tuple with parameters for the signal. Virtual Methods --------------- .. rst-class:: interim-class .. class:: DBusProxy :no-index: .. method:: do_g_properties_changed(changed_properties: ~gi.repository.GLib.Variant, invalidated_properties: str) -> None The type of the None singleton. :param changed_properties: :param invalidated_properties: .. method:: do_g_signal(sender_name: str, signal_name: str, parameters: ~gi.repository.GLib.Variant) -> None The type of the None singleton. :param sender_name: :param signal_name: :param parameters: Fields ------ .. rst-class:: interim-class .. class:: DBusProxy :no-index: .. attribute:: parent_instance .. attribute:: priv