o
    BŠ]K
  ã                   @   sD   d dl mZ d dlmZ d dlmZ d dlmZ G dd„ deƒZdS )é    )Úuniv)Únull)Úerror)Údebugc                   @   s4   e Zd Zd
dd„Zd
dd„Zdd„ Zefdd	„ZdS )ÚSnmpContextNc                 C   sx   |j jj dd¡\}|d u r|j| _n|j |¡| _tjtj	@ o2t d| jf ¡ t
|j ji| _d S  t
|j ji| _d S )Nz__SNMP-FRAMEWORK-MIBZsnmpEngineIDz!SnmpContext: contextEngineId "%r")ZmsgAndPduDspZmibInstrumControllerZ
mibBuilderZimportSymbolsZsyntaxÚcontextEngineIdZcloner   ÚloggerÚflagInsr   ÚcontextNames)ÚselfZ
snmpEnginer   ZsnmpEngineId© r   ú?/usr/lib/python3/dist-packages/pysnmp/entity/rfc3413/context.pyÚ__init__   s   ÿ

ÿÿ
ÿzSnmpContext.__init__c                 C   sn   t  |¡ ¡ }|| jv rt d| ¡‚tjtj@ o!t d||f ¡ |d u r0| jt	 | j|< d S || j|< d S )NzDuplicate contextName %sz=registerContextName: registered contextName %r, mibInstrum %r)
r   ÚOctetStringÚasOctetsr
   r   ÚPySnmpErrorr   r   r	   r   )r   ÚcontextNameZ
mibInstrumr   r   r   ÚregisterContextName   s   
ÿ
ÿ€zSnmpContext.registerContextNamec                 C   sB   t  |¡ ¡ }|| jv rtjtj@ ot d| ¡ | j|= d S d S )Nz2unregisterContextName: unregistered contextName %r)r   r   r   r
   r   r   r	   ©r   r   r   r   r   ÚunregisterContextName(   s   
ÿ€ýz!SnmpContext.unregisterContextNamec                 C   sŠ   t  |¡ ¡ }|| jvr(tjtj@ o t d| ¡ t d| ¡‚ t d| ¡‚tjtj@ o?t d|| j| f ¡ | j| S  | j| S )Nz,getMibInstrum: contextName %r not registeredzMissing contextName %sz+getMibInstrum: contextName %r, mibInstum %r)	r   r   r   r
   r   r   r	   r   r   r   r   r   r   ÚgetMibInstrum/   s    
ÿÿÿÿ
þ
zSnmpContext.getMibInstrum)N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r      s
    

r   N)	Zpyasn1.typer   Zpyasn1.compat.octetsr   Zpysnmpr   r   Úobjectr   r   r   r   r   Ú<module>   s
   