summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelie <elie>2005-07-12 10:47:03 +0000
committerelie <elie>2005-07-12 10:47:03 +0000
commit160b479b0429f7cee07fb22c3cf498e3bff5f90a (patch)
tree4bd8364aa2fc3fae79bbabdc21e17e4d6f753ffc
parentd58d3a07f6420255b2d120ef1502aa72564395e1 (diff)
downloadpysnmp-160b479b0429f7cee07fb22c3cf498e3bff5f90a.tar.gz
separate snmpContext from CmdRspBase to re-use it in notification originator app
-rw-r--r--pysnmp/entity/rfc3413/cmdrsp.py28
1 files changed, 5 insertions, 23 deletions
diff --git a/pysnmp/entity/rfc3413/cmdrsp.py b/pysnmp/entity/rfc3413/cmdrsp.py
index 28fdef1..fe47fc2 100644
--- a/pysnmp/entity/rfc3413/cmdrsp.py
+++ b/pysnmp/entity/rfc3413/cmdrsp.py
@@ -9,27 +9,12 @@ vacmID = 3
class CmdRspBase:
pduTypes = ()
- def __init__(self, snmpEngine, contextEngineId=None):
+ def __init__(self, snmpEngine, snmpContext):
snmpEngine.msgAndPduDsp.registerContextEngineId(
- contextEngineId, self.pduTypes, self.processPdu
+ snmpContext.contextEngineId, self.pduTypes, self.processPdu
)
- self.__contextEngineId = contextEngineId # for unregistration
+ self.snmpContext = snmpContext # for unregistration
self.__pendingReqs = {}
- self.__contextNames = {}
-
- def registerContextName(self, contextName, mibInstrumController):
- if self.__contextNames.has_key(contextName):
- raise error.ProtocolError(
- 'Duplicate contextNames %s' % contextName
- )
- self.__contextNames[contextName] = mibInstrumController
-
- def unregisterContextName(self, contextName):
- if not self.__contextNames.has_key(contextName):
- raise error.ProtocolError(
- 'No such contextName %s' % contextName
- )
- del self.__contextNames[contextName]
def _handleManagementOperation(
self, snmpEngine, contextMibInstrumCtl, PDU, (acFun, acCtx)
@@ -37,7 +22,7 @@ class CmdRspBase:
def close(self, snmpEngine):
snmpEngine.msgAndPduDsp.unregisterContextEngineId(
- self.__contextEngineId, self.pduTypes
+ self.snmpContext.contextEngineId, self.pduTypes
)
def __sendResponse(self, snmpEngine, errorStatus, errorIndex,
@@ -134,10 +119,7 @@ class CmdRspBase:
statusInformation
)
- if self.__contextNames.has_key(str(contextName)):
- contextMibInstrumCtl = self.__contextNames[contextName]
- else:
- contextMibInstrumCtl = snmpEngine.msgAndPduDsp.mibInstrumController
+ contextMibInstrumCtl = self.snmpContext.getMibInstrum(contextName)
acCtx = (
snmpEngine, securityModel, securityName, securityLevel, contextName