← Back
Editing: interface.cpython-312.opt-1.pyc
� �ic�V � �� � d dl Z d dlZd dl mZ d dlmZ d dlmZ d dlmZ d dl m Z mZ d dlm Z mZmZmZ d dlmZ g d �Zd ZdZdZd � Zd� Zd� Z G d� de� Zdd�Zd� Zd� Z G d� de� Zy)� N)� Parameter)�get_type_hints)� get_dbus_name)�Signal)�DBusSpecificationError�DBusSpecification)� get_dbus_type�is_base_type�get_type_arguments�Tuple)�XMLGenerator)� dbus_class�dbus_interface�dbus_signal�get_xml�accepts_additional_arguments�"are_additional_arguments_supported�__dbus_xml__�*__dbus_method_returns_multiple_arguments__�-__dbus_handler_accepts_additional_arguments__c �( � t | t d� | S )a� Decorator for returning multiple arguments from a DBus method. The decorator allows to generate multiple output arguments in the XML specification of the decorated DBus method. Otherwise, there will be only one output argument in the specification. Define a DBus method with multiple output arguments: .. code-block:: python @returns_multiple_arguments def Method(self) -> Tuple[Int, Bool]: return 0, False The generated XML specification of the example: .. code-block:: xml <method name="Method"> <arg direction="out" name="return_0" type="i"/> <arg direction="out" name="return_1" type="b"/> </method> If the XML specification is not generated by the dbus_interface decorator, the returns_multiple_arguments decorator has no effect. :param method: a DBus method :return: a DBus method with a flag T)�setattr�$RETURNS_MULTIPLE_ARGUMENTS_ATTRIBUTE��methods �</usr/lib/python3.12/site-packages/dasbus/server/interface.py�returns_multiple_argumentsr : s � �<