509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
‰å<_   ã            ,   @   sô   d dl mZmZmZmZmZmZmZ dadd„ Z	dd„ Z
dd„ Zejeejeejeejeejeejeejeejeejeejeejeejeejeejeejeej e!ej"e!ej#e!ej$dej%dej&dej'diZ(d	d
„ Z)dd„ Z*dd„ Z+dd„ Z,e	e,ƒ dS )é   )Ú	VFuncInfoÚFunctionInfoÚCallableInfoÚ
ObjectInfoÚ
StructInfoÚ	DirectionÚTypeTagNc             C   s   | a dS )z�Set doc string generator function

    :param callable func:
        Callable which takes a GIInfoStruct and returns documentation for it.
    N)Ú_generate_doc_string_func)Úfunc© r   ú!/usr/lib64/python3.6/docstring.pyÚset_doc_string_generator%   s    r   c               C   s   t S )z6Returns the currently registered doc string generator.)r	   r   r   r   r   Úget_doc_string_generator/   s    r   c             C   s   t | ƒS )aE  Generate a doc string given a GIInfoStruct.

    :param gi.types.BaseInfo info:
        GI info instance to generate documentation for.
    :returns:
        Generated documentation as a string.
    :rtype: str

    This passes the info struct to the currently registered doc string
    generator and returns the result.
    )r	   )Úinfor   r   r   Úgenerate_doc_string4   s    r   c             C   sf   | j ƒ }tj|d ƒ}|r(t|dƒr(|jS |tjkr^| jƒ }|jƒ }|sN| j	ƒ S d|j
ƒ |f S | j	ƒ S )NÚ__name__z%s.%s)Zget_tagÚ_type_tag_to_py_typeÚgetÚhasattrr   r   Ú	INTERFACEZget_interfaceÚget_nameZget_tag_as_stringZget_namespace)Zgi_typeZtype_tagZpy_typeZifaceZ	info_namer   r   r   Ú_get_pytype_hint\   s    
r   c             C   s  g }t | tƒrdg}nt | tƒr.| jƒ r.dg}| jƒ }d
}tƒ }tƒ }x:|D ]2}|j|jƒ ƒ |j|jƒ j	ƒ ƒ |j|j
ƒ ƒ qLW xŒt|ƒD ]€\}}|jƒ tjkr¤qŒ||kr®qŒ|jƒ }t|jƒ ƒ}	|	|krÖ|d|	 7 }|jƒ sæ||krð|d7 }n|jƒ �r|d7 }|j|ƒ qŒW dj|ƒ}
g }t| jƒ ƒ}| jƒ  �rf|�rf||k�rf|}| jƒ �r\|d7 }|j|ƒ xlt|ƒD ]`\}}|jƒ tjk�rŒ�qp||k�rš�qp|jƒ }t|jƒ ƒ}	|	|k�rÄ|d|	 7 }|j|ƒ �qpW |�rðd| j|
dj|ƒf S d	| j|
f S d S )NÚselfÚvoidú:z=Nonez=<optional>z, z or Nonez%s(%s) -> %sz%s(%s))r   )Ú
isinstancer   r   Z	is_methodZget_argumentsÚsetÚaddZget_destroyZget_typeZget_array_lengthZget_closureÚ	enumerateZget_directionr   ZOUTr   r   Zmay_be_nullZis_optionalÚappendÚjoinZget_return_typeZskip_returnZmay_return_nullÚINr   )r   Zin_args_strsÚargsZhint_blacklistZignore_indicesZuser_data_indicesÚargÚiZargstrZhintZin_args_strZout_args_strsZreturn_hintr   r   r   Ú_generate_callable_info_docn   sb    









r%   c             C   sŠ   d}d}t | tƒr4| jƒ dkrH|d| jƒ  d 7 }n|d| jƒ  d 7 }x,| jƒ D ] }|jƒ rR|dt|ƒ d 7 }qRW |r‚|| S dS d S )Nz
:Constructors:

::

Ú é    z    z()
z(**properties)
Ú
)r   r   Zget_sizer   Zget_methodsZis_constructorr%   )r   ÚheaderÚdocZmethod_infor   r   r   Ú_generate_class_info_doc®   s    
r+   c             C   s,   t | ttfƒrt| ƒS t | tƒr(t| ƒS dS )Nr&   )r   r   r   r+   r   r%   )r   r   r   r   Ú_generate_doc_dispatchÃ   s
    
r,   )-Z_gir   r   r   r   r   r   r   r	   r   r   r   ZBOOLEANÚboolZINT8ÚintZUINT8ZINT16ZUINT16ZINT32ZUINT32ZINT64ZUINT64ZFLOATÚfloatZDOUBLEZGLISTÚlistZGSLISTZARRAYZGHASHÚdictZUTF8ÚstrZFILENAMEZUNICHARr   ZGTYPEZERRORZVOIDr   r   r%   r+   r,   r   r   r   r   Ú<module>   s>   $

@
