U
    j	                     @   s   d Z ddlmZ G dd deZG dd deeZG dd deZG d	d
 d
eZG dd deZG dd deZ	G dd deZ
G dd deZG dd deZdd
dddddgZdS )z-Enumerations for different types in the RFCs.    )Enumc                   @   s   e Zd ZdZdd ZdS )r   zEnum class that can be pickled.c                 C   s   | j | jffS )zFor pickling.)	__class___name_)selfZ_p r   3/tmp/pip-unpacked-wheel-g40nyxg1/icalendar/enums.py__reduce_ex__   s    zEnum.__reduce_ex__N)__name__
__module____qualname____doc__r   r   r   r   r   r      s   r   c                   @   s   e Zd ZdZdS )StrEnumzEnum for strings.N)r	   r
   r   r   r   r   r   r   r      s   r   c                   @   s,   e Zd ZdZdZdZdZdZdZdZ	dZ
d	S )
PARTSTATzEnum for PARTSTAT from :rfc:`5545`.

    Attributes:
        ``NEEDS_ACTION``,
        ``ACCEPTED``,
        ``DECLINED``,
        ``TENTATIVE``,
        ``DELEGATED``,
        ``COMPLETED``,
        ``IN_PROCESS``
    zNEEDS-ACTIONACCEPTEDDECLINED	TENTATIVE	DELEGATED	COMPLETEDz
IN-PROCESSN)r	   r
   r   r   ZNEEDS_ACTIONr   r   r   r   r   Z
IN_PROCESSr   r   r   r   r      s   r   c                   @   s    e Zd ZdZdZdZdZdZdS )FBTYPEzEnum for FBTYPE from :rfc:`5545`.

    Attributes:
        ``FREE``,
        ``BUSY``,
        ``BUSY-UNAVAILABLE``,
        ``BUSY-TENTATIVE``
    FREEBUSYzBUSY-UNAVAILABLEzBUSY-TENTATIVEN)r	   r
   r   r   r   r   ZBUSY_UNAVAILABLEZBUSY_TENTATIVEr   r   r   r   r   &   s
   r   c                   @   s$   e Zd ZdZdZdZdZdZdZdS )CUTYPEzEnum for CTYPE from :rfc:`5545`.

    Attributes:
        ``INDIVIDUAL``,
        ``GROUP``,
        ``RESOURCE``,
        ``ROOM``,
        ``UNKNOWN``
    
INDIVIDUALGROUPRESOURCEROOMUNKNOWNN)	r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   5   s   	r   c                   @   s   e Zd ZdZdZdZdZdS )RELTYPEzsEnum for RELTYPE from :rfc:`5545`.

    Attributes:
        ``PARENT``,
        ``CHILD``,
        ``SIBLING``
    PARENTCHILDSIBLINGN)r	   r
   r   r   r   r   r    r   r   r   r   r   F   s   r   c                   @   s   e Zd ZdZdZdZdS )RANGEzjEnum for RANGE from :rfc:`5545`.

    Attributes:
        ``THISANDFUTURE``,
        ``THISANDPRIOR``
    THISANDFUTURETHISANDPRIORN)r	   r
   r   r   r"   r#   r   r   r   r   r!   S   s   r!   c                   @   s   e Zd ZdZdZdZdS )RELATEDz[Enum for RELATED from :rfc:`5545`.

    Attributes:
        ``START``,
        ``END``
    STARTENDN)r	   r
   r   r   r%   r&   r   r   r   r   r$   _   s   r$   c                   @   s    e Zd ZdZdZdZdZdZdS )ROLEzEnum for ROLE from :rfc:`5545`.

    Attributes:
        ``CHAIR``,
        ``REQ-PARTICIPANT``,
        ``OPT-PARTICIPANT``,
        ``NON-PARTICIPANT``
    CHAIRzREQ-PARTICIPANTzOPT-PARTICIPANTzNON-PARTICIPANTN)r	   r
   r   r   r(   ZREQ_PARTICIPANTZOPT_PARTICIPANTZNON_PARTICIPANTr   r   r   r   r'   j   s
   r'   N)r   enumr   _Enumstrr   r   r   r   r   r!   r$   r'   __all__r   r   r   r   <module>   s$   