HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/share/glib-2.0/codegen/__pycache__/codegen_main.cpython-38.pyc
U

	�u_c;�@s�ddlZddlZddlZddlmZddlmZddlmZddlmZddlmZddl	m
Z
mZd	d
�Zdd�Z
d
d�Zdd�Zdd�Zdd�Zdd�Zedkr�e�dS)�N�)�config)�	dbustypes)�parser)�codegen)�codegen_docbook)�print_error�
print_warningcCs |D]}|j|kr|SqdS�N)�name)�arg_listZarg_name�a�r�+/usr/share/glib-2.0/codegen/codegen_main.py�find_arg#s

rcCs"|jD]}|j|kr|SqdSr
)�methodsr)�iface�method�mrrr�find_method)s


rcCs"|jD]}|j|kr|SqdSr
)Zsignalsr)r�signalrrrr�find_signal/s


rcCs"|jD]}|j|kr|SqdSr
)Z
propertiesr)r�proprrrr�	find_prop5s


rcCsXd}|D]}	|	j|kr|	}q q|dkr6td�|��d}
|r�t||�}|dkr`td�||��|r�t|j|�}|dkr�t|j|�}|dkr�td�|||��|}
n|}
n�|�r
t||�}
|
dkr�td�||��|�rt|
j|�}|dkr�td�|||��|}
n|
}
n4|�r:t	||�}|dk�r4td�||��|}
n|}
|
j
�dt�
||��dS)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�formatrrZin_argsZout_argsr�argsrZannotations�insertrZ
Annotation)�
iface_listrrrr�arg�key�valueZ	iface_obj�iZ
target_objZ
method_objZarg_objZ
signal_objZprop_objrrr�apply_annotation;sJ




r"c
Cs�|D�]�\}}}|�d�}|dkr�|d|�}||dd�}|�d�}|dkr�||dd�}|d|�}|�d�}|d|�}t||d|d|||�nt||d|dd||�q|�d�}|dkr�|d|�}||dd�}	t||dd|	d||�q|�d	�}|dk�r�|d|�}
|
�d
�}|
d|�}|
|dd�}|�d�}|dk�r�||dd�}|�d�}|d|�}t|||dd|||�nt|||ddd||�q|}t||dddd||�qdS)Nz::���r��[r�]�:z()�.)�findr"�rfind)rZannotation_listZwhatrr �posrrrrZcombinedrrrr�apply_annotationsisB









r,cCs>tjdd�}|jddddd�|jddd	gtjd
�|jddd
dd�|jddd
dd�|jdddd�|jddddgddd�|jdddd �|jd!dd"d�|jd#d$d	d%d&d'�|jd(d)d*d �|jd+d)d,d �|��}|jd-dd.d �|jd/dd0d�|jd1dd2d�|jd3dd4d�|jd5dd6d�|��}|jd7dd8d �|jd9d:d
d;d�|��}t|j�d<k�rvtd=�|j	dk	�s�|j
dk	�r�|jdk	�r�td>�|j	�r�|j	d?}t
j�|j|�}d@|_t
j�|j|j	dA�}d@|_n�|j�r|jdk�rtdB�|j}t
j�|�}n�|j�rX|jdk�r4tdC�|j}t
j�t
j�|��d<d?}n�|j�r�|jdk�rttdD�|j�r�tdE�|j}t
j�|�}nN|j�r�|jdk�r�tdF�|j�r�tdG�|j}t
j�t
j�|��d<d?}|j�r�zZ|j�dHd$�}t|d<�tt|�dIk�r |dInd<�f}tt|�dJk�r@|dJnd<�}Wn*ttfk
�rrtdK�|j��YnX|dLk�r�tdM�|j��ndL}|j�r$zZ|j�dHd$�}t|d<�tt|�dIk�r�|dInd<�f}	tt|�dJk�r�|dJnd<�}Wn*ttfk
�r tdN�|j��YnXntj tj!f}	|	d<|	dI|	dIdJf}	|	|k�rftdO�||	��g}
g}t"|j#|j�D]R}t$|dP��}
|
�%�}W5QRXt&j'||dQkdR�}|
�(|�|�)t
j�|���q~|j*dk	�r�t+|
|j*�|
D]}|�,|j-|j.��q�|j
}t/�0|
�}|�r*|�1||j�}|j�rrt$|dS��0}t2�3|
|j.|j|j4|||j5||�	}|�1�W5QRX|j�r�t$|dS��*}t2�6|
|j.|j|||||�}|�1�W5QRX|j�r�t$|dS��(}t2�7|
|j.|||j5||�}|�1�W5QRX|j�r0t$|dS��$}t2�8|
|j.||||�}|�1�W5QRXt9�:d<�dS)TNz&D-Bus code and documentation generator)Zdescription�filesZFILE�+zD-Bus introspection XML file)�metavar�nargs�helpz--xml-files�append)r/�action�defaultr1z--interface-prefixZPREFIX�z<String to strip from D-Bus interface names for code and docs)r/r4r1z
--c-namespaceZ	NAMESPACEz)The namespace to use for generated C codez--c-generate-object-manager�
store_truezCGenerate a GDBusObjectManagerClient subclass when generating C code)r3r1z--c-generate-autocleanupZnoneZobjects�allzGenerate autocleanup support)�choicesr4r1z--generate-docbookZOUTFILESz2Generate Docbook in OUTFILES-org.Project.IFace.xml)r/r1z
--pragma-oncez(Use "pragma once" as the inclusion guardz
--annotate�zWHAT KEY VALUEz*Add annotation (may be used several times))r0r3r/r1z--glib-min-requiredZVERSIONzMMinimum 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--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-directoryZOUTDIRz"Location to output generated filesrzHThe "--xml-files" option is deprecated; use positional arguments insteadzZUsing --generate-c-code or --generate-docbook and --output at the same time is not allowedz.hTz.cz Using --header requires --outputzUsing --body requires --outputz/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-bodyr(rr$u0Unrecognized --glib-min-required string ‘{}’)r$�uDInvalid --glib-min-required string ‘{}’: minimum version is 2.30u/Unrecognized --glib-max-allowed string ‘{}’z`Invalid versions: --glib-min-required ({}) must be less than or equal to --glib-max-allowed ({})�rb)r$�@)Zh_type_implies_unix_fd�w);�argparse�ArgumentParser�add_argumentZSUPPRESSZadd_mutually_exclusive_group�
parse_args�lenZ	xml_filesr	Zgenerate_c_codeZgenerate_docbook�outputr�os�path�joinZoutput_directory�headerZbody�basename�splitextZinterface_info_headerZc_generate_object_managerZinterface_info_body�glib_min_required�split�int�
ValueError�
IndexErrorr�glib_max_allowedrZ
MAJOR_VERSIONZ
MINOR_VERSION�sortedr-�open�readrZparse_dbus_xml�extendr2Zannotater,Zpost_processZinterface_prefixZc_namespacerZDocbookCodeGeneratorZgeneraterZHeaderCodeGeneratorZc_generate_autocleanupZpragma_onceZ
CodeGeneratorZ InterfaceInfoHeaderCodeGeneratorZInterfaceInfoBodyCodeGenerator�sys�exit)Z
arg_parser�grouprZheader_nameZh_fileZc_file�partsrJ�_rOZ
all_ifacesZinput_files_basenames�fname�fZxml_dataZ
parsed_ifacesr!ZdocbookZdocbook_genZretZoutfile�genrrr�codegen_main�s�
��
�
��������������
��

�"�
�
�"��
��

�	���r\�__main__)r>rDrTr5rrrrrZutilsrr	rrrrr"r,r\�__name__rrrr�<module>s$.-J