B
    ‹aã
  ã               @   s@   d dl Z d dlmZmZ d dlmZ G dd„ deƒZdd„ ZdS )é    N)ÚshellÚshellcon)ÚDesignatedWrapPolicyc               @   sÀ   e Zd ZejgZddddddddd	d
ddddddgZdd„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Zd1d2„ Zd3S )4ÚFileOperationProgressSinkÚStartOperationsÚFinishOperationsÚPreRenameItemÚPostRenameItemÚPreMoveItemÚPostMoveItemÚPreCopyItemÚPostCopyItemÚPreDeleteItemÚPostDeleteItemÚ
PreNewItemÚPostNewItemÚUpdateProgressÚ
ResetTimerÚ
PauseTimerÚResumeTimerc             C   s   |   | ¡ d | _d S )N)Z_wrap_ÚnewItem)Úself© r   úDlib/python3.7/site-packages/send2trash/IFileOperationProgressSink.pyÚ__init__   s    
z"FileOperationProgressSink.__init__c             C   s   |t j@ rdS dS )Nr   l   @   )r   ZTSF_DELETE_RECYCLE_IF_POSSIBLE)r   ÚflagsÚitemr   r   r   r   "   s    z'FileOperationProgressSink.PreDeleteItemc             C   s   |r|  tj¡| _d S )N)ZGetDisplayNamer   ZSHGDN_FORPARSINGr   )r   r   r   ZhrDeleteZnewlyCreatedr   r   r   r   *   s    z(FileOperationProgressSink.PostDeleteItemc             C   s   d S )Nr   )r   r   r   r   r   .   s    z)FileOperationProgressSink.StartOperationsc             C   s   d S )Nr   )r   ZResultr   r   r   r   1   s    z*FileOperationProgressSink.FinishOperationsc             C   s   d S )Nr   )r   ÚFlagsÚItemÚNewNamer   r   r   r   4   s    z'FileOperationProgressSink.PreRenameItemc             C   s   d S )Nr   )r   r   r   r   ZhrRenameÚNewlyCreatedr   r   r   r	   7   s    z(FileOperationProgressSink.PostRenameItemc             C   s   d S )Nr   )r   r   r   ÚDestinationFolderr   r   r   r   r
   :   s    z%FileOperationProgressSink.PreMoveItemc             C   s   d S )Nr   )r   r   r   r!   r   ZhrMover    r   r   r   r   =   s    z&FileOperationProgressSink.PostMoveItemc             C   s   d S )Nr   )r   r   r   r!   r   r   r   r   r   B   s    z%FileOperationProgressSink.PreCopyItemc             C   s   d S )Nr   )r   r   r   r!   r   ZhrCopyr    r   r   r   r   E   s    z&FileOperationProgressSink.PostCopyItemc             C   s   d S )Nr   )r   r   r!   r   r   r   r   r   J   s    z$FileOperationProgressSink.PreNewItemc             C   s   d S )Nr   )r   r   r!   r   ZTemplateNameZFileAttributesZhrNewZNewItemr   r   r   r   M   s    
z%FileOperationProgressSink.PostNewItemc             C   s   d S )Nr   )r   Z	WorkTotalZ	WorkSoFarr   r   r   r   Y   s    z(FileOperationProgressSink.UpdateProgressc             C   s   d S )Nr   )r   r   r   r   r   \   s    z$FileOperationProgressSink.ResetTimerc             C   s   d S )Nr   )r   r   r   r   r   _   s    z$FileOperationProgressSink.PauseTimerc             C   s   d S )Nr   )r   r   r   r   r   b   s    z%FileOperationProgressSink.ResumeTimerN)Ú__name__Ú
__module__Ú__qualname__r   ÚIID_IFileOperationProgressSinkZ_com_interfaces_Z_public_methods_r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	   sD   r   c               C   s   t  tƒ tj¡S )N)Ú	pythoncomZ
WrapObjectr   r   r%   r   r   r   r   Ú
CreateSinkf   s    r'   )r&   Zwin32com.shellr   r   Zwin32com.server.policyr   r   r'   r   r   r   r   Ú<module>   s   ]