HEX
Server: nginx/1.24.0
System: Linux localhost 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64
User: www (1000)
PHP: 8.3.27
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: //usr/share/glib-2.0/codegen/__pycache__/codegen_main.cpython-310.pyc
o

�*c+A�@s�ddlZddlZddlZddlmZddlmZddlmZddlmZddlmZddlm	Z	dd	l
mZmZd
d�Z
dd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zedkr]e�dSdS)�N�)�config)�	dbustypes)�parser)�codegen)�codegen_docbook)�codegen_rst)�print_error�
print_warningcCs |D]}|j|kr
|SqdS�N)�name)�arg_list�arg_name�a�r�+/usr/share/glib-2.0/codegen/codegen_main.py�find_arg%s

�rcC�"|jD]}|j|kr|SqdSr)�methodsr)�iface�method�mrrr�find_method,�


�rcCrr)�signalsr)r�signalrrrr�find_signal3rrcCrr)�
propertiesr)r�proprrrr�	find_prop:rrcCsPd}|D]}	|	j|kr|	}nq|durtd�|��d}
|rUt||�}|dur0td�||��|rRt|j|�}|durOt|j|�}|durOtd�|||��|}
nI|}
nF|r�t||�}
|
durhtd�||��|r�t|
j|�}|dur}td�|||��|}
n|
}
n|r�t	||�}|dur�td�||��|}
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)rr	�formatrr�in_args�out_argsr�argsr�annotations�insertr�
Annotation)�
iface_listrrrr�arg�key�value�	iface_obj�i�
target_obj�
method_obj�arg_obj�
signal_obj�prop_objrrr�apply_annotationAs\
�
��
��
r2c
Cs�|D]�\}}}|�d�}|dkrX|d|�}||dd�}|�d�}|dkrL||dd�}|d|�}|�d�}|d|�}t||d|d|||�qt||d|dd||�q|�d�}|dkr{|d|�}||dd�}	t||dd|	d||�q|�d	�}|dkr�|d|�}
|
�d
�}|
d|�}|
|dd�}|�d�}|dkr�||dd�}|�d�}|d|�}t|||dd|||�qt|||ddd||�q|}t||dddd||�qdS)Nz::���r��[r�]�:z()�.)�findr2�rfind)r'�annotation_list�whatr)r*�posrrr(r�combinedrrrr�apply_annotationswsT


�




����r?cCs@tjdd�}|jddddd�|jddd	gtjd
�|jddd
dd�|jddd
dd�|jdddd�|jdgd�ddd�|jdddd�|jd dd!d�|jd"dd#d�|jd$d%d	d&d'd(�|jd)d*d+d�|jd,d*d-d�|jd.d/d0�|jd1d2d0�|jd3d4d0�|��}|jd5dd6d�|jd7dd8d�|jd9dd:d�|jd;dd<d�|jd=dd>d�|��}|jd?dd@d�|jdAdBd
dCd�|��}t|j�dDkr�tdE�|j	dus�|j
dus�|jdur�|jdur�t
dF�|j	�r|j	dG}tj�|j|�}dH|_tj�|j|j	dI�}dH|_n|j�r)|jdu�rt
dJ�|j}tj�|�}ng|j�rI|jdu�r7t
dK�|j}tj�tj�|��dDdG}nG|j�ri|jdu�rWt
dL�|j�r_t
dM�|j}tj�|�}n'|j�r�|jdu�rwt
dN�|j�rt
dO�|j}tj�tj�|��dDdG}|j�r�z-|j�dPd%�}t|dD�tt|�dQk�r�|dQndD�f}tt|�dRk�r�|dRndD�}Wnttf�y�t
dS�|j��Ynw|dTk�r�t
dU�|j��ndT}|j�r,z-|j�dPd%�}t|dD�tt|�dQk�r|dQndD�f}	tt|�dRk�r|dRndD�}Wnttf�y+t
dV�|j��Ynwt j!t j"f}	|j#du�rD|j$�s@|j%�rDt
dW�|	dD|	dQ|	dQdRf}	|	|k�r_t
dX�||	��g}
g}t&|j'|j�D]4}t(|dY��}
|
�)�}Wd�n	1�s�wYt*j+||dZkd[�}|
�,|�|�-tj�|���qk|j.du�r�t/|
|j.�|
D]}|�0|j1|j2��q�|j
}t3�4|
�}|�r�|�5||j�|j}t6�7|
�}|�r�|�5||j�|j�rt(|d\��!}t8�9|
|j2|j|j:|||j;||j#|j$|�}|�5�Wd�n	1�swY|j�r?t(|d\��}t8�<|
|j2|j|||||j%|�	}|�5�Wd�n	1�s:wY|j�rnt(|d\��}t8�=|
|j2|||j;||j#|j$|�	}|�5�Wd�n	1�siwY|j�r�t(|d\��}t8�>|
|j2||||j%|�}|�5�Wd�n	1�s�wYt?�@dD�dS)]Nz&D-Bus code and documentation generator)�description�files�FILE�+zD-Bus introspection XML file)�metavar�nargs�helpz--xml-files�append)rD�action�defaultrFz--interface-prefix�PREFIX�z<String to strip from D-Bus interface names for code and docs)rDrIrFz
--c-namespace�	NAMESPACEz)The namespace to use for generated C codez--c-generate-object-manager�
store_truezCGenerate a GDBusObjectManagerClient subclass when generating C code)rHrFz--c-generate-autocleanup)�none�objects�allrOzGenerate autocleanup support)�choicesrIrFz--generate-docbook�OUTFILESz2Generate Docbook in OUTFILES-org.Project.IFace.xml)rDrFz--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))rErHrDrFz--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)rFz--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 insteadzlUsing --generate-c-code or --generate-docbook or --generate-rst 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-bodyr8rr4u0Unrecognized --glib-min-required string ‘{}’)r4�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)r4�@)�h_type_implies_unix_fd�w)A�argparse�ArgumentParser�add_argument�SUPPRESS�add_mutually_exclusive_group�
parse_args�len�	xml_filesr
�generate_c_code�generate_docbook�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�
IndexErrorr �glib_max_allowedr�
MAJOR_VERSION�
MINOR_VERSION�symbol_decorator�symbol_decorator_header�symbol_decorator_define�sortedrA�open�readr�parse_dbus_xml�extendrG�annotater?�post_process�interface_prefix�c_namespacer�DocbookCodeGenerator�generater�RstCodeGeneratorr�HeaderCodeGenerator�c_generate_autocleanup�pragma_once�
CodeGenerator� InterfaceInfoHeaderCodeGenerator�InterfaceInfoBodyCodeGenerator�sys�exit)�
arg_parser�groupr#�header_name�h_file�c_file�partsrr�_rw�
all_ifaces�input_files_basenames�fname�f�xml_data�
parsed_ifacesr,�docbook�docbook_gen�rst�rst_gen�outfile�genrrr�codegen_main�s6����������������������



�
��*"���
��*"�����
��
��


�

��
��
��
	�r��__main__)r[rgr�rKrrrrrr�utilsr	r
rrrrr2r?r��__name__rrrr�<module>s,66H
�