관리-도구
편집 파일: handler.cpython-39.opt-1.pyc
a װ_YD � @ s� d dl Z d dlmZmZ d dlmZ d dlmZ d dlm Z d dl mZ d dlm Z mZ d dlmZmZ d dlZe�d d � d dlmZ e �e�Zg d�ZG d d� de�ZG dd� ded�ZG dd� de�ZdS )� N)�ABCMeta�abstractmethod)�partial)�ErrorMapper)�Signal)�get_xml)�DBusSpecification�DBusSpecificationError)�get_variant�unwrap_variant�Gioz2.0)r )� GLibServer�AbstractServerObjectHandler�ServerObjectHandlerc @ s\ e Zd ZdZeddd��Zeddd��Zedd � �Zed d� �Zedd � �Z edd� �Z dS )r z0The low-level DBus server library based on GLib.Nc C s |� |||||� dS )zEmit a DBus signal.N)�emit_signal)�cls� connection�object_path�interface_name�signal_name� parametersZdestination� r �9/usr/lib/python3.9/site-packages/dasbus/server/handler.pyr / s �zGLibServer.emit_signalr c C sf t j�|�}t| j||fd�}g }|js0td��|jD ] } |�|| |dd�} |�| � q6t| j ||�S )zRegister an object on DBus.)� user_dataz$No DBus interfaces for registration.N) r ZDBusNodeInfoZnew_for_xmlr �_object_callbackZ interfacesr �register_object�append�_unregister_object)r r r Z object_xml�callback� callback_argsZ node_infoZmethod_call_closure� registrationsZinterface_info�registration_idr r r r ; s4 ��� ��zGLibServer.register_objectc C s |D ]}|� |� qdS )zUnregister an object from DBus.N)Zunregister_object)r r r r! r r r r ] s zGLibServer._unregister_objectc C s"