← Back
Editing: dbus.cpython-312.pyc
� 2�iOT � �� � d dl Z d dlZd dlZd dlZd dlZd dlmc mZ d dl m Z d dlmZm Z mZ ddlmZmZ ej$ e� Z G d� d� Zd� Z G d � d e� Zy)� N)�systemd_ctypes)�Bus�BusError� introspection� )�Channel�ChannelErrorc �6 � e Zd Zd� Zdd�Zd� Zd d�Zd� Zd d�Zy) �InterfaceCachec �0 � i | _ t � | _ y �N)�cache�set�old��selfs �:/usr/lib/python3.12/site-packages/cockpit/channels/dbus.py�__init__zInterfaceCache.__init__h s � ��� ��5��� Nc �: � | j j |� y r )r �update)r � interfacess r �injectzInterfaceCache.injectl s � �� � ���*�%r c � �" K � |j ||dd� � d { ��� \ }t j |� }|j d� D �ci c]% }|j d t j |� ��' }}| j |� |S 7 �mc c}w �w)Nz#org.freedesktop.DBus.Introspectable� Introspect� interface�name)�call_method_async�ET� fromstring�findall�attribr �parse_interfacer )r �bus�destination�object_path�xml�et�tagr s r �introspect_pathzInterfaceCache.introspect_patho s� � �� ��*�*�;��+P�+7�9� 9��� �]�]�3� ��XZ�Xb�Xb�cn�Xo�p�Xo�QT�c�j�j��(�-�*G�*G��*L�L�Xo� �p� ���J����9�� q�s! �B�B�.B� *B �3B� Bc � �� K � | j | S # t $ r Y nw xY w|r/|r- | j |||� � d { ���7 n# t $ r Y nw xY w| j j |� S �wr )r �KeyErrorr* r �get�r �interface_namer$ r% r&