B
    ŃY                 @   s   d dl mZ d dlmZmZmZmZmZ d dlm	Z	 ddl
mZ ee	dZee	dZejZee_ejZejZd ZdZd ZdZdZd	Zd
ZG dd deZdd Zdd ZdS )    )unicode_literals)cdllbyref	Structurec_charc_char_p)find_library   )binary_type
FoundationCoreServices         c               @   s   e Zd Zded fgZdS )FSRefZhiddenP   N)__name__
__module____qualname__r   Z_fields_ r   r   2lib/python3.7/site-packages/send2trash/plat_osx.pyr      s   r   c             C   s   | rt | d}t|d S )Nzutf-8)GetMacOSStatusCommentStringdecodeOSError)	op_resultmsgr   r   r   check_op_result"   s    r   c             C   sX   t | ts| d} t }t}t| |t|d }t| t}t	t|d |}t| d S )Nzutf-8)

isinstancer
   encoder   $kFSPathMakeRefDoNotFollowLeafSymlinkFSPathMakeRefWithOptionsr   r   kFSFileOperationDefaultOptionsFSMoveObjectToTrashSync)pathfpZoptsr   r   r   r   
send2trash'   s    

r%   N)Z
__future__r   Zctypesr   r   r   r   r   Zctypes.utilr   compatr
   ZLoadLibraryr   r   r   Zrestyper    r"   ZkFSPathMakeRefDefaultOptionsr   r!   ZkFSFileOperationOverwriteZ*kFSFileOperationSkipSourcePermissionErrorsZ&kFSFileOperationDoNotMoveAcrossVolumesZkFSFileOperationSkipPreflightr   r   r%   r   r   r   r   <module>   s&   