a
    
$aŲ  ć                   @   sR   d dl Z d dlZd dlZd dlZG dd dZG dd deZG dd deZdS )é    Nc                   @   s    e Zd ZdZdd Zdd ZdS )ŚGeneratedFilezRepresents a generated filec                 C   sP   t j |”| _t|d| _| j d| d ” | j dtj ”  	”  d ” dS )z$Create a new GeneratedFile with nameŚwz/* ś */
z/* Automatically generated at z */

N)
ŚosŚpathŚbasenameŚnameŚopenŚfileŚwriteŚdatetimeZnowZ	isoformat©Śselfr   © r   śl/home/jack/SDK/ZBT-AX3000-OpenWrt-21.02/build_dir/hostpkg/samba-4.14.12/source4/heimdal/lib/wind/generate.pyŚ__init__,   s    ’žzGeneratedFile.__init__c                 C   s   | j  ”  dS )śEnd and close the file headerN)r
   Śclose©r   r   r   r   r   5   s    zGeneratedFile.closeN)Ś__name__Ś
__module__Ś__qualname__Ś__doc__r   r   r   r   r   r   r   *   s   	r   c                   @   sT   e Zd ZdZejdkr$e dd”Znddl	Z	e	 dd”Zd	d
 Z
dd Zdd ZdS )ŚHeaderz"Represents a generated header filei  s   -.s   __r   Nz-.Ś__c                 C   s   | j  | j” ” S )z'Return a name to be used as ifdef guard)r   Ś	translateŚ
guardTransŚupperr   r   r   r   Ś	makeGuardA   s    zHeader.makeGuardc                 C   sF   t  | |” |  ” | _| j d| j d ” | j d| j d ” dS )zCreate a new Header with namez#ifndef Ś
z#define z 1
N)r   r   r   Śguardr
   r   r   r   r   r   r   E   s    
zHeader.__init__c                 C   s$   | j  d| j d ” t | ” dS )r   z
#endif /* r   N)r
   r   r    r   r   r   r   r   r   r   L   s    zHeader.close)r   r   r   r   ŚsysŚ
hexversionŚbytesŚ	maketransr   Śstringr   r   r   r   r   r   r   r   :   s   
r   c                   @   s   e Zd ZdZdd ZdS )ŚImplementationz*Represents a generated implementation filec                 C   s   t  | |” dS )z%Create a new Implementation with nameN)r   r   r   r   r   r   r   T   s    zImplementation.__init__N)r   r   r   r   r   r   r   r   r   r&   R   s   r&   )r   r%   r   r!   r   r   r&   r   r   r   r   Ś<module>%   s   