BYPASS SHELL BY ./RAZORGANZ
Server: nginx/1.20.1
System: Linux iZdzfnv9mwfppeZ 5.10.134-19.2.al8.x86_64 #1 SMP Wed Oct 29 22:47:09 CST 2025 x86_64
User: apache (48)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //usr/share/glib-2.0/codegen/__pycache__/codegen_main.cpython-36.pyc
3

]xa�?�@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 x|D]}|j|kr|SqWdS)N)�name)�arg_listZarg_name�a�r
�,./usr/share/glib-2.0/codegen/codegen_main.py�find_arg$s

rcCs"x|jD]}|j|kr|SqWdS)N)�methodsr
)�iface�method�mr
r
r�find_method+s
rcCs"x|jD]}|j|kr|SqWdS)N)Zsignalsr
)r�signalrr
r
r�find_signal2s
rcCs"x|jD]}|j|kr|SqWdS)N)Z
propertiesr
)r�proprr
r
r�	find_prop9s
rcCs\d}x|D]}	|	j|kr
|	}Pq
W|dkr8tdj|��d}
|r�t||�}|dkrbtdj||��|r�t|j|�}|dkr�t|j|�}|dkr�tdj|||��|}
n|}
n�|�rt||�}
|
dkr�tdj||��|�rt|
j|�}|dk�rtdj|||��|}
n|
}
n4|�r>t	||�}|dk�r8tdj||��|}
n|}
|
j
jdtj
||��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)r
r�formatrrZin_argsZout_argsr�argsrZannotations�insertrZ
Annotation)�
iface_listrrrr�arg�key�valueZ	iface_obj�iZ
target_objZ
method_objZarg_objZ
signal_objZprop_objr
r
r�apply_annotation@sR






r!c
Cs��x�|D�]�\}}}|jd�}|d
kr�|d|�}||dd�}|jd�}|dkr�||dd�}|d|�}|jd�}|d|�}t||d|d|||�nt||d|dd||�q|jd�}|dk�r�|d|�}||dd�}	t||dd|	d||�q|jd�}|d
k�r�|d|�}
|
jd	�}|
d|�}|
|dd�}|jd�}|dk�r�||dd�}|jd�}|d|�}t|||dd|||�nt|||ddd||�q|}t||dddd||�qWdS)Nz::rr��[�]�:z()�.���r'r'r'r')�findr!�rfind)rZannotation_listZwhatrr�posrrrrZcombinedrr
r
r�apply_annotationsvsJ










r+c4Cs�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-d.d/�|jd0d1d/�|jd2d3d/�|j�}|jd4dd5d �|jd6dd7d�|jd8dd9d�|jd:dd;d�|jd<dd=d�|j�}|jd>dd?d �|jd@dAd
dBd�|j�}t|j�dCk�r�tdD�|j	dk	�s�|j
dk	�r�|jdk	�r�tdE�|j	�r|j	dF}t
jj|j|�}dG|_t
jj|j|j	dH�}dG|_n�|j�rB|jdk�r.tdI�|j}t
jj|�}n�|j�r�|jdk�r^tdJ�|j}t
jjt
jj|��dCdF}n�|j�r�|jdk�r�tdK�|j�r�tdL�|j}t
jj|�}nN|j�r|jdk�r�tdM�|j�r�tdN�|j}t
jjt
jj|��dCdF}|j�r�yZ|jjdOd$�}t|dC�tt|�dPk�rJ|dPndC�f}tt|�dQk�rj|dQndC�}Wn*ttfk
�r�tdRj|j��YnX|d\k�r�tdTj|j��nd]}|j�rNyZ|jjdOd$�}t|dC�tt|�dPk�r�|dPndC�f}	tt|�dQk�r|dQndC�}Wn*ttfk
�rJtdUj|j��YnXntj tj!f}	|j"dk�r~|j#�sv|j$�r~tdV�|	dC|	dP|	dPdQf}	|	|k�r�tdWj||	��g}
g}xft%|j&|j�D]R}t'|dX��}
|
j(�}WdQRXt)j*||d^kdZ�}|
j+|�|j,t
jj|���q�W|j-dk	�r<t.|
|j-�x|
D]}|j/|j0|j1��qBW|j
}t2j3|
�}|�r�|j4||j�|j�r�t'|d[��8}t5j6|
|j1|j|j7|||j8||j"|j#|�}|j4�WdQRX|j�rt'|d[��.}t5j9|
|j1|j|||||j$|�	}|j4�WdQRX|j�r^t'|d[��0}t5j:|
|j1|||j8||j"|j#|�	}|j4�WdQRX|j�r�t'|d[��(}t5j;|
|j1||||j$|�}|j4�WdQRXt<j=dC�dS)_Nz&D-Bus code and documentation generator)Zdescription�filesZFILE�+zD-Bus introspection XML file)�metavar�nargs�helpz--xml-files�append)r.�action�defaultr0z--interface-prefixZPREFIX�z<String to strip from D-Bus interface names for code and docs)r.r3r0z
--c-namespaceZ	NAMESPACEz)The namespace to use for generated C codez--c-generate-object-manager�
store_truezCGenerate a GDBusObjectManagerClient subclass when generating C code)r2r0z--c-generate-autocleanupZnoneZobjects�allzGenerate autocleanup support)�choicesr3r0z--generate-docbookZOUTFILESz2Generate Docbook in OUTFILES-org.Project.IFace.xml)r.r0z
--pragma-oncez(Use "pragma once" as the inclusion guardz
--annotate�zWHAT KEY VALUEz*Add annotation (may be used several times))r/r2r.r0z--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)r0z--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-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 ‘{}’�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�@)Zh_type_implies_unix_fd�w)r"r:)r"r:)r"r<)>�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_VERSIONZsymbol_decoratorZsymbol_decorator_headerZsymbol_decorator_define�sortedr,�open�readrZparse_dbus_xml�extendr1Zannotater+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_genZoutfile�genr
r
r�codegen_main�s�

*"
*"




r\�__main__)r>rDrTr4rrrrrZutilsrr	rrrrr!r+r\�__name__r
r
r
r�<module>s&66<