← Back
Editing: handler.cpython-312.pyc
� �icwL � � � d dl Z d dlmZmZ d dlmZ d dlmZ d dlm Z d dl mZmZ d dl mZmZ d dlmZmZmZ d dlZ ej* d d � d dlmZ e j0 e� Zg d�Z G d � de� Z G d� de�� Z G d� de� Zy)� N)�ABCMeta�abstractmethod)�partial)�ErrorMapper)�Signal)�get_xml�"are_additional_arguments_supported)�DBusSpecification�DBusSpecificationError)�get_variant�unwrap_variant�is_tuple_of_one�Gioz2.0)r )� GLibServer�AbstractServerObjectHandler�ServerObjectHandlerc � � e Zd ZdZe dd�� Ze dd�� Zed� � Zed� � Zed� � Z ed� � Z ed � � Zed � � Zy) r z0The low-level DBus server library based on GLib.Nc �. � |j |||||� y)zEmit a DBus signal.N)�emit_signal)�cls� connection�object_path�interface_name�signal_name� parameters�destinations �:/usr/lib/python3.12/site-packages/dasbus/server/handler.pyr zGLibServer.emit_signal/ s! � � �������� � c �@ � t j j |� }t | j ||f�� }g }|j st d� �|j D ]( } |j || |dd� } |j | � �* t | j ||� S )zRegister an object on DBus.)� user_dataz$No DBus interfaces for registration.N) r �DBusNodeInfo�new_for_xmlr �_object_callback� interfacesr �register_object�append�_unregister_object)r r r � object_xml�callback� callback_args� node_info�method_call_closure� registrations�interface_info�registration_ids r r% zGLibServer.register_object; s� � � �$�$�0�0�� � � &�� � ���/� �� � ��#�#�(�6�� � (�2�2�N�(�8�8���#����O� � � ��1� 3� ��"�"��� � r c �4 � |D ] }|j |� � y)zUnregister an object from DBus.N)�unregister_object)r r r- r/ s r r'