summaryrefslogtreecommitdiff
path: root/pysnmp/entity/rfc3413/context.py
blob: a73227f935586db5ede162290baa0e510cc01d87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# SNMP entity context
from pysnmp import error

class SnmpContext:
    def __init__(self, snmpEngine, contextEngineId=None):
        self.contextEngineId = contextEngineId
        self.contextNames = {
            '': snmpEngine.msgAndPduDsp.mibInstrumController # Default name
            } 

    def registerContextName(self, contextName, mibInstrum=None):
        if self.contextNames.has_key(contextName):
            raise error.PySnmpError(
                'Duplicate contextName %s' % contextName
                )
        if mibInstrum is None:
            self.contextName[contextName] = self.contextName['']
        else:
            self.contextName[contextName] = mibInstrum
            
    def unregisterContextName(self, contextName):
        if self.contextNames.has_key(contextName):
            del self.contextName[contextName]

    def getMibInstrum(self, contextName):
        if not self.contextNames.has_key(contextName):
            raise error.PySnmpError(
                'Missing contextName %s' % contextName
                )
        else:
            return self.contextNames[contextName]