U
    4Jea  ã                   @   sL   d dl Z d dlmZmZ G dd„ de jeef ƒZG dd„ deƒZdgZ	dS )é    N)ÚABCÚabstractmethodc                   @   s   e Zd Zeeddœdd„ZdS )ÚContextN)ÚkeyÚvalueÚreturnc                 C   s   t ‚d S )N)Ú
ValueError)Úselfr   r   © r
   úG/tmp/pip-unpacked-wheel-7_167w8m/mysql/opentelemetry/context/context.pyÚ__setitem__   s    zContext.__setitem__)Ú__name__Ú
__module__Ú__qualname__ÚstrÚobjectr   r
   r
   r
   r   r      s   r   c                   @   sJ   e Zd ZdZeeedœdd„ƒZeedœdd„ƒZeedd	œd
d„ƒZ	dS )Ú_RuntimeContextzîThe RuntimeContext interface provides a wrapper for the different
    mechanisms that are used to propagate context in Python.
    Implementations can be made available via entry_points and
    selected through environment variables.
    )Úcontextr   c                 C   s   dS )z°Sets the current `Context` object. Returns a
        token that can be used to reset to the previous `Context`.

        Args:
            context: The Context to set.
        Nr
   )r	   r   r
   r
   r   Úattach    s    z_RuntimeContext.attach)r   c                 C   s   dS )z%Returns the current `Context` object.Nr
   )r	   r
   r
   r   Úget_current)   s    z_RuntimeContext.get_currentN)Útokenr   c                 C   s   dS )zpResets Context to a previous value

        Args:
            token: A reference to a previous Context.
        Nr
   )r	   r   r
   r
   r   Údetach-   s    z_RuntimeContext.detach)
r   r   r   Ú__doc__r   r   r   r   r   r   r
   r
   r
   r   r      s   r   )
ÚtypingÚabcr   r   ÚDictr   r   r   r   Ú__all__r
   r
   r
   r   Ú<module>   s   