
    ]                     d    d Z ddlmZ ddlmZ ddlmZ ddlmZ  G d de      Z G d d	e      Zy
)z>Shared utility structures and methods for rsync functionality.    )absolute_import)print_function)division)unicode_literalsc                        e Zd ZdZdZdZdZdZy)
DiffActionzCEnum class representing possible actions to take for an rsync diff.copyremovemtime_src_to_dstposix_src_to_dstN)__name__
__module____qualname____doc__COPYREMOVEMTIME_SRC_TO_DSTPOSIX_SRC_TO_DST     )platform/gsutil/gslib/utils/rsync_util.pyr   r      s    K	$&''r   r   c                       e Zd ZdZd Zy)RsyncDiffToApplyzAClass that encapsulates info needed to apply diff for one object.c                 J    || _         || _        || _        || _        || _        y)a  Constructor.

    Args:
      src_url_str: (str or None) The source URL string, or None if diff_action
          is REMOVE.
      dst_url_str: (str) The destination URL string.
      src_posix_attrs: (posix_util.POSIXAttributes) The source POSIXAttributes.
      diff_action: (DiffAction) DiffAction to be applied.
      copy_size: (int or None) The amount of bytes to copy, or None if
          diff_action is REMOVE.
    N)src_url_strdst_url_strsrc_posix_attrsdiff_action	copy_size)selfr   r   r   r   r   s         r   __init__zRsyncDiffToApply.__init__"   s+     #D"D*D"DDNr   N)r   r   r   r   r!   r   r   r   r   r      s
    Ir   r   N)	r   
__future__r   r   r   r   objectr   r   r   r   r   <module>r$      s/    E & %  '( (v r   