o
    oia                     @   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dededdfddZdS )ContextkeyvaluereturnNc                 C   s   t )N)
ValueError)selfr   r    r
   b/var/www/html/pca-backend/venv/lib/python3.10/site-packages/mysql/opentelemetry/context/context.py__setitem__   s   zContext.__setitem__)__name__
__module____qualname__strobjectr   r
   r
   r
   r   r      s    r   c                   @   sN   e Zd ZdZededefddZedefddZededd	fd
dZ	d	S )_RuntimeContextzThe 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      dS )zSets 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        z_RuntimeContext.attachc                 C   r   )z%Returns the current `Context` object.Nr
   )r	   r
   r
   r   get_current)   r   z_RuntimeContext.get_currenttokenNc                 C   r   )zpResets Context to a previous value

        Args:
            token: A reference to a previous Context.
        Nr
   )r	   r   r
   r
   r   detach-   r   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
   
