summaryrefslogtreecommitdiff
path: root/pysnmp/entity/rfc3413/context.py
diff options
context:
space:
mode:
authorelie <elie>2005-07-12 10:47:40 +0000
committerelie <elie>2005-07-12 10:47:40 +0000
commitb4eb62cc017a6e3732ed7b17367b1a6c599e68e2 (patch)
tree169b4119ba0c03f3ee76baeff53e1cd2f14fe657 /pysnmp/entity/rfc3413/context.py
parent160b479b0429f7cee07fb22c3cf498e3bff5f90a (diff)
downloadpysnmp-b4eb62cc017a6e3732ed7b17367b1a6c599e68e2.tar.gz
initial revision
Diffstat (limited to 'pysnmp/entity/rfc3413/context.py')
-rw-r--r--pysnmp/entity/rfc3413/context.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/pysnmp/entity/rfc3413/context.py b/pysnmp/entity/rfc3413/context.py
new file mode 100644
index 0000000..a73227f
--- /dev/null
+++ b/pysnmp/entity/rfc3413/context.py
@@ -0,0 +1,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]