summaryrefslogtreecommitdiff
path: root/pysnmp/entity/rfc3413/oneliner/ntforg.py
diff options
context:
space:
mode:
Diffstat (limited to 'pysnmp/entity/rfc3413/oneliner/ntforg.py')
-rw-r--r--pysnmp/entity/rfc3413/oneliner/ntforg.py180
1 files changed, 0 insertions, 180 deletions
diff --git a/pysnmp/entity/rfc3413/oneliner/ntforg.py b/pysnmp/entity/rfc3413/oneliner/ntforg.py
deleted file mode 100644
index 0f0d2d2e..00000000
--- a/pysnmp/entity/rfc3413/oneliner/ntforg.py
+++ /dev/null
@@ -1,180 +0,0 @@
-#
-# This file is part of pysnmp software.
-#
-# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
-# License: http://snmplabs.com/pysnmp/license.html
-#
-# All code in this file belongs to obsolete, compatibility wrappers.
-# Never use interfaces below for new applications!
-#
-from pysnmp.hlapi.asyncore import *
-from pysnmp.hlapi.asyncore import sync
-from pysnmp.hlapi.varbinds import *
-from pysnmp.hlapi.lcd import *
-from pyasn1.compat.octets import null
-from pysnmp.entity import config
-from pysnmp.entity.rfc3413 import context
-
-__all__ = ['AsynNotificationOriginator',
- 'NotificationOriginator',
- 'MibVariable']
-
-MibVariable = ObjectIdentity
-
-
-class ErrorIndicationReturn(object):
- def __init__(self, *vars):
- self.__vars = vars
-
- def __getitem__(self, i):
- return self.__vars[i]
-
- def __nonzero__(self):
- return bool(self)
-
- def __bool__(self):
- return bool(self.__vars[0])
-
- def __str__(self):
- return str(self.__vars[0])
-
-
-class AsynNotificationOriginator(object):
- vbProcessor = NotificationOriginatorVarBinds()
- lcd = NotificationOriginatorLcdConfigurator()
-
- def __init__(self, snmpEngine=None, snmpContext=None):
- if snmpEngine is None:
- self.snmpEngine = snmpEngine = SnmpEngine()
- else:
- self.snmpEngine = snmpEngine
-
- if snmpContext is None:
- self.snmpContext = context.SnmpContext(self.snmpEngine)
- config.addContext(
- self.snmpEngine, '' # this is leaky
- )
- else:
- self.snmpContext = snmpContext
-
- self.mibViewController = self.vbProcessor.getMibViewController(self.snmpEngine)
-
- def __del__(self):
- self.uncfgNtfOrg()
-
- def cfgNtfOrg(self, authData, transportTarget, notifyType):
- return self.lcd.configure(
- self.snmpEngine, authData, transportTarget, notifyType
- )
-
- def uncfgNtfOrg(self, authData=None):
- return self.lcd.unconfigure(self.snmpEngine, authData)
-
- def makeVarBinds(self, varBinds):
- return self.vbProcessor.makeVarBinds(
- self.snmpEngine, varBinds
- )
-
- def unmakeVarBinds(self, varBinds, lookupNames, lookupValues):
- return self.vbProcessor.unmakeVarBinds(
- self.snmpEngine, varBinds, lookupNames or lookupValues
- )
-
- def sendNotification(self, authData, transportTarget,
- notifyType, notificationType,
- varBinds=(), # legacy, use NotificationType instead
- cbInfo=(None, None),
- lookupNames=False, lookupValues=False,
- contextEngineId=None, # XXX ordering incompatibility
- contextName=null):
-
- def __cbFun(snmpEngine, sendRequestHandle, errorIndication,
- errorStatus, errorIndex, varBinds, cbCtx):
- cbFun, cbCtx = cbCtx
- try:
- # we need to pass response PDU information to user for INFORMs
- return cbFun and cbFun(
- sendRequestHandle,
- errorIndication,
- errorStatus, errorIndex,
- varBinds,
- cbCtx
- )
- except TypeError:
- # a backward compatible way of calling user function
- return cbFun(
- sendRequestHandle,
- errorIndication,
- cbCtx
- )
-
- # for backward compatibility
- if contextName is null and authData.contextName:
- contextName = authData.contextName
-
- if not isinstance(notificationType,
- (ObjectIdentity, ObjectType, NotificationType)):
- if isinstance(notificationType[0], tuple):
- # legacy
- notificationType = ObjectIdentity(notificationType[0][0], notificationType[0][1], *notificationType[1:])
- else:
- notificationType = ObjectIdentity(notificationType)
-
- if not isinstance(notificationType, NotificationType):
- notificationType = NotificationType(notificationType)
-
- return sendNotification(
- self.snmpEngine,
- authData, transportTarget,
- ContextData(contextEngineId or self.snmpContext.contextEngineId,
- contextName),
- notifyType, notificationType.addVarBinds(*varBinds),
- __cbFun,
- cbInfo,
- lookupNames or lookupValues
- )
-
- asyncSendNotification = sendNotification
-
-
-class NotificationOriginator(object):
- vbProcessor = NotificationOriginatorVarBinds()
-
- def __init__(self, snmpEngine=None, snmpContext=None, asynNtfOrg=None):
- # compatibility attributes
- self.snmpEngine = snmpEngine or SnmpEngine()
- self.mibViewController = self.vbProcessor.getMibViewController(self.snmpEngine)
-
- # the varBinds parameter is legacy, use NotificationType instead
-
- def sendNotification(self, authData, transportTarget, notifyType,
- notificationType, *varBinds, **kwargs):
- if 'lookupNames' not in kwargs:
- kwargs['lookupNames'] = False
- if 'lookupValues' not in kwargs:
- kwargs['lookupValues'] = False
- if not isinstance(notificationType,
- (ObjectIdentity, ObjectType, NotificationType)):
- if isinstance(notificationType[0], tuple):
- # legacy
- notificationType = ObjectIdentity(notificationType[0][0], notificationType[0][1], *notificationType[1:])
- else:
- notificationType = ObjectIdentity(notificationType)
-
- if not isinstance(notificationType, NotificationType):
- notificationType = NotificationType(notificationType)
-
- for (errorIndication,
- errorStatus,
- errorIndex,
- rspVarBinds) in sync.sendNotification(self.snmpEngine, authData,
- transportTarget,
- ContextData(kwargs.get('contextEngineId'),
- kwargs.get('contextName', null)),
- notifyType,
- notificationType.addVarBinds(*varBinds),
- **kwargs):
- if notifyType == 'inform':
- return errorIndication, errorStatus, errorIndex, rspVarBinds
- else:
- break