HEX
Server: nginx/1.24.0
System: Linux DGT-WORDPRESS-VM-SERVER 6.14.0-1017-azure #17~24.04.1-Ubuntu SMP Mon Dec 1 20:10:50 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.4.12
Disabled: NONE
Upload Files
File: //usr/share/glib-2.0/codegen/__pycache__/codegen_main.cpython-312.pyc
�

	3�eD����ddlZddlZddlZddlmZddlmZddlmZddlmZddlm	Z	ddlm
Z
dd	lmZdd
lmZddl
mZmZd�Zd
�Zd�Zd�Zed��Zd�Zd�Zd�Zedk(re�yy)�N)�contextmanager�)�config)�	dbustypes)�parser)�codegen)�codegen_docbook)�
codegen_md)�codegen_rst)�print_error�
print_warningc�8�|D]}|j|k(s�|cSy�N)�name)�arg_list�arg_name�as   �+/usr/share/glib-2.0/codegen/codegen_main.py�find_argr's'��
����6�6�X���H���c�L�|jD]}|j|k(s�|cSyr)�methodsr)�iface�method�ms   r�find_methodr.�+��
�]�]����6�6�V���H��rc�L�|jD]}|j|k(s�|cSyr)�signalsr)r�signalrs   r�find_signalr!5rrc�L�|jD]}|j|k(s�|cSyr)�
propertiesr)r�proprs   r�	find_propr%<s,��
�
�
����6�6�T�>��H��rc#�K�|�|dk(rtj��yt|d�5}|��ddd�y#1swYyxYw�w)N�-�w)�sys�stdout�open)�filename�outfiles  r�file_or_stdoutr.CsA������8�s�?��j�j��
�(�C�
 �	�G��M�	�	�	�s�'A�7�	A�A�Ac��d}|D]}	|	j|k(s�|	}n|�tdj|��d}
|r}t||�}|�tdj||��|rOt	|j
|�}|�4t	|j|�}|�tdj|||��|}
n�|}
n�|ret||�}
|
�tdj||��|r7t	|
j|�}|�tdj|||��|}
n3|
}
n0|r,t||�}|�tdj||��|}
n|}
|
jjdtj||��y)NzNo interface "{}"z No method "{}" on interface "{}"z,No arg "{}" on method "{}" on interface "{}"z No signal "{}" on interface "{}"z,No arg "{}" on signal "{}" on interface "{}"z"No property "{}" on interface "{}"r)rr�formatrr�in_args�out_argsr!�argsr%�annotations�insertr�
Annotation)�
iface_listrrr r$�arg�key�value�	iface_obj�i�
target_obj�
method_obj�arg_obj�
signal_obj�prop_objs               r�apply_annotationrBLs����I�
����6�6�U�?��I���
���'�.�.�u�5�6��J�
� ��F�3�
����:�A�A�&�%�P�Q���z�1�1�3�7�G���"�:�#6�#6��<���?��F�M�M������
!�J�#�J�	� ��F�3�
����:�A�A�&�%�P�Q���z����4�G����B�I�I��V�U���
!�J�#�J�	
��Y��-�����<�C�C�D�%�P�Q��
��
����!�!�!�Y�%9�%9�#�u�%E�Frc���|D�]h\}}}|jd�}|dk7rl|d|}||dzd}|jd�}|dk7r6||dzd}|d|}|jd�}|d|}t||d|d|||��wt||d|dd||���|jd�}|dk7r |d|}||dzd}	t||dd|	d||���|jd	�}|dk7r|d|}
|
jd
�}|
d|}|
|dzd}|jd�}|dk7r2||dzd}|jd�}|d|}t|||dd|||���At|||ddd||���U|}t||dddd||���ky)Nz::���r��[r�]�:z()�.)�findrB�rfind)r7�annotation_list�whatr9r:�posrr r8r$�combinedrs            r�apply_annotationsrP�s���+�1���c�5��i�i��o���"�9���3�K�E��#��'�)�_�F��+�+�c�"�C��b�y��S�1�W�Y�'����#����h�h�s�m���!�C�j�� ��U�D�&�$��S�RW�X� ���t�V�T�4��e���)�)�C�.�C��b�y��Q�s����C�!�G�I��� ��U�D�$��d�C�QV�W��i�i��o���"�9�#�A�c�{�H�"�.�.��-�C�$�Q�s�O�E�%�c�A�g�i�0�F��)�)�C�.�C��b�y�"�3��7�9�o��!�h�h�s�m��!�!�C�j��(�&��v�t�T�3��U��)�&��v�t�T�4��e��
!�E�$�"�E�4��t�T�3���_1rc�|�tjd��}|jdddd��|jddd	gtj�
�|jddd
d��|jddd
d��|jddd��|jdgd�dd��|jddd��|jd dd!��|jd"dd#��|jd$dd%��|jd&d'd	d(d)�*�|jd+d,d-��|jd.d,d/��|jd0d1�2�|jd3d4�2�|jd5d6�2�|j	�}|jd7dd8��|jd9dd:��|jd;dd<��|jd=dd>��|jd?dd@��|j	�}|jdAddB��|jdCdDd
dE��|j�}t
|j�dFkDrtdG�|j�$|j�|j�|j�|j�tdH�|jr�|jdIz}tj j#|j$|�}dJ|_tj j#|j$|jdKz�}dJ|_�n�|j&rD|j�tdL�|j}tj j+|�}�nq|j(ro|j�tdM�|j}|dNk(rd
}�n9tj j-tj j+|��dFdIz}n�|j.rZ|j�tdO�|j0rtdP�|j}tj j+|�}n�|j2r�|j�tdQ�|j0rtdR�|j}|dNk(rd
}nBtj j-tj j+|��dFdIz}|j4r�	|j4j7dSd'�}t9|dF�t9t
|�dTkDr|dTndF�f}t9t
|�dUkDr|dUndF�}dWkr'tdXj?|j4��ndW}|j@rh	|j@j7dSd'�}t9|dF�t9t
|�dTkDr|dTndF�f}	t9t
|�dUkDr|dUndF�}n tBjDtBjFf}	|jH�#|jJs|jLrtdZ�	dF|	dT|	dTdUzzf}	|	|krtd[j?||	��g}
g}tO|jP|jz�D]�}tS|d\�5}
|
jU�}ddd�tWjX|d]k\�^�}|
j[|�|j]tj j+|����|j^�ta|
|j^�|
D](}|jc|jd|jf��*|j}tijj|
�}|r|jm||j$�|j}tojp|
�}|r|jm||j$�|j}tsjt|
�}|r|jm||j$�|j&rtw�5}tyjz|
|jf|j0|j|||j~||jH|jJ|�}|jm�ddd�|j(r_tw�5}tyj�|
|jf|j0||||jL|�	}|jm�ddd�|j.ritw�5}tyj�|
|jf||j~||jH|jJ|�	}|jm�ddd�|j2rStw�5}tyj�|
|jf|||jL|�}|jm�ddd�t�j�dF�y#t:t<f$r(tdVj?|j4��Y���wxYw#t:t<f$r(tdYj?|j@��Y��gwxYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY��xYw#1swY��xYw)_Nz&D-Bus code and documentation generator)�description�files�FILE�+zD-Bus introspection XML file)�metavar�nargs�helpz--xml-files�append)rV�action�defaultrXz--interface-prefix�PREFIX�z<String to strip from D-Bus interface names for code and docs)rVr[rXz
--c-namespace�	NAMESPACEz)The namespace to use for generated C codez--c-generate-object-manager�
store_truezCGenerate a GDBusObjectManagerClient subclass when generating C code)rZrXz--c-generate-autocleanup)�none�objects�allrazGenerate autocleanup support)�choicesr[rXz--generate-docbook�OUTFILESz2Generate Docbook in OUTFILES-org.Project.IFace.xml)rVrXz
--generate-mdz2Generate Markdown in OUTFILES-org.Project.IFace.mdz--generate-rstz;Generate reStructuredText in OUTFILES-org.Project.IFace.rstz
--pragma-oncez(Use "pragma once" as the inclusion guardz
--annotate�zWHAT KEY VALUEz*Add annotation (may be used several times))rWrZrVrXz--glib-min-required�VERSIONzMMinimum version of GLib to be supported by the outputted code (default: 2.30)z--glib-max-allowedzXMaximum version of GLib to be used by the outputted code (default: current GLib version)z--symbol-decoratorzSMacro used to decorate a symbol in the outputted header, possibly to export symbols)rXz--symbol-decorator-headerzHAdditional header required for decorator specified by --symbol-decoratorz--symbol-decorator-definezHAdditional define required for decorator specified by --symbol-decoratorz--generate-c-codez Generate C code in OUTFILES.[ch]z--headerzGenerate C headersz--bodyzGenerate C codez--interface-info-headerz$Generate GDBusInterfaceInfo C headerz--interface-info-bodyz"Generate GDBusInterfaceInfo C codez--outputz$Write output into the specified filez--output-directory�OUTDIRz"Location to output generated filesrzHThe "--xml-files" option is deprecated; use positional arguments insteadzcUsing --generate-c-code or --generate-{docbook,md,rst} and --output at the same time is not allowedz.hTz.cz Using --header requires --outputzUsing --body requires --outputr'z/Using --interface-info-header requires --outputzH--c-generate-object-manager is incompatible with --interface-info-headerz-Using --interface-info-body requires --outputzF--c-generate-object-manager is incompatible with --interface-info-bodyrIrrEu0Unrecognized --glib-min-required string ‘{}’)rE�uDInvalid --glib-min-required string ‘{}’: minimum version is 2.30u/Unrecognized --glib-max-allowed string ‘{}’z\--symbol-decorator-define and --symbol-decorator-header must be used with --symbol-decoratorz`Invalid versions: --glib-min-required ({}) must be less than or equal to --glib-max-allowed ({})�rb)rE�@)�h_type_implies_unix_fd)E�argparse�ArgumentParser�add_argument�SUPPRESS�add_mutually_exclusive_group�
parse_args�len�	xml_filesr
�generate_c_code�generate_docbook�generate_md�generate_rst�outputr�os�path�join�output_directory�header�body�basename�splitext�interface_info_header�c_generate_object_manager�interface_info_body�glib_min_required�split�int�
ValueError�
IndexErrorr0�glib_max_allowedr�
MAJOR_VERSION�
MINOR_VERSION�symbol_decorator�symbol_decorator_header�symbol_decorator_define�sortedrSr+�readr�parse_dbus_xml�extendrY�annotaterP�post_process�interface_prefix�c_namespacer	�DocbookCodeGenerator�generater
�MdCodeGeneratorr�RstCodeGeneratorr.r�HeaderCodeGenerator�c_generate_autocleanup�pragma_once�
CodeGenerator� InterfaceInfoHeaderCodeGenerator�InterfaceInfoBodyCodeGeneratorr)�exit)�
arg_parser�groupr3�header_name�h_file�c_file�partsr��_r��
all_ifaces�input_files_basenames�fname�f�xml_data�
parsed_ifacesr<�docbook�docbook_gen�md�md_gen�rst�rst_genr-�gens                         r�codegen_mainr��s�
���(�(�<��J������s�1O����������
�
�
���������
K�	��������
8�	�����%��
R���
���"�*��
+�	�������
A���
�����
A���
�����
J���
�����
7���
������ �
9����������������*�������%���
���#����
���#����
�3�3�5�E�	����Z�6X���
���z�,�=Q��R�	���x��;L��M�	���!��
3���

�����
1���
�3�3�5�E�	����F�)O���
������
1�	��� � �"�D�
�4�>�>��Q���V�	
�
	
���(�� � �,����'����(�
�+�+�
!��
7�	
�
����*�*�T�1�������d�3�3�[�A����������d�3�3�T�5I�5I�D�5P�Q����	�	
����;�;���:�;������g�g�&�&�v�.��	
����;�;���8�9������S�=��K��'�'�*�*�2�7�7�+;�+;�F�+C�D�Q�G�$�N�K�	
�	#�	#��;�;���I�J��)�)��*�
�
�����g�g�&�&�v�.��	
�	!�	!��;�;���G�H��)�)��(�
�
�����S�=��K��'�'�*�*�2�7�7�+;�+;�F�+C�D�Q�G�$�N�K�
���
	��*�*�0�0��a�8�E�!$�U�1�X����E�
�Q��E�!�H�TU�0V� W����E�
�Q��E�!�H�A�6�A��w�&��"�"(�&��)?�)?�"@�
�
$�����
	��)�)�/�/��Q�7�E� #�E�!�H�
�s�s�5�z�A�~�5��8�ST�/U�V����E�
�Q��E�!�H�A�6�A�#�0�0�&�2F�2F�G�����$��'�'�4�+G�+G��2�
�	������/��2�Q�6�7���
�+�+��
<�<B�F�!�#3�=�	
��J�����
�
�T�^�^�3�4�>��
�%��
�	 �!��v�v�x�H�	 ��-�-��.?�7�.J�
�
�	���-�(��$�$�R�W�W�%5�%5�e�%<�=�>��}�}� ��*�d�m�m�4�
�@��	���t�,�,�d�.>�.>�?�@��#�#�G�!�6�6�z�B�K�����W�d�&;�&;�<�	
�	�	�B�
�
'�
'�
�
3�F�	�����D�1�1�2�
�
�
�C��*�*�:�6�G�
�����d�3�3�4��{�{�
�F�
#�	�w��-�-��� � ��.�.��+�+��%�� � �!��%�%��,�,���C�
�L�L�N�	� �y�y�
�F�
#�	�w��'�'��� � ��.�.��%��!��,�,��
�C�
�L�L�N�	��!�!�
�F�
#�	�w��:�:��� � ��%�� � �!��%�%��,�,��
�C�
�L�L�N�	����
�F�
#�
	�w��8�8��� � ��%�!��,�,���C�
�L�L�N�
	��H�H�Q�K��e�J�'�	��B�I�I��*�*��
�	��,�J�'�	��A�H�H��)�)��
�	��F	 �	 ��<	�	��"	�	��	�	��
	�
	�sf�-A&h
�A&i�*i>�A,j�Aj�7Aj%�,Aj2�
3i�i�3i;�:i;�>j	�j�j"�%j/�2j;�__main__)rlryr)�
contextlibrr]rrrrr	r
r�utilsrr
rrr!r%r.rBrPr��__name__�rr�<module>r�s{��0�	�
�%��������-���������3G�l3�lV�r
�z���N�r