summaryrefslogtreecommitdiff
path: root/pysnmp/entity/rfc3413/oneliner/mibvar.py
diff options
context:
space:
mode:
Diffstat (limited to 'pysnmp/entity/rfc3413/oneliner/mibvar.py')
-rw-r--r--pysnmp/entity/rfc3413/oneliner/mibvar.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/pysnmp/entity/rfc3413/oneliner/mibvar.py b/pysnmp/entity/rfc3413/oneliner/mibvar.py
index 6846334..cb7b163 100644
--- a/pysnmp/entity/rfc3413/oneliner/mibvar.py
+++ b/pysnmp/entity/rfc3413/oneliner/mibvar.py
@@ -1,5 +1,6 @@
from pysnmp.proto import rfc1902
from pysnmp.smi.builder import ZipMibSource
+from pysnmp.smi.compiler import addMibCompiler
from pysnmp.error import PySnmpError
from pyasn1.error import PyAsn1Error
@@ -20,6 +21,7 @@ class MibVariable:
def __init__(self, *args):
self.__args = args
self.__mibSourcesToAdd = self.__modNamesToLoad = None
+ self.__asn1SourcesToAdd = None
self.__state = self.stDirty
#
@@ -56,6 +58,10 @@ class MibVariable:
# A gateway to MIBs manipulation routines
#
+ def addAsn1Sources(self, *asn1Sources):
+ self.__asn1SourcesToAdd = asn1Sources
+ return self
+
def addMibSource(self, *mibSources):
self.__mibSourcesToAdd = mibSources
return self
@@ -75,6 +81,13 @@ class MibVariable:
mibViewController.mibBuilder.setMibSources(*mibSources)
self.__mibSourcesToAdd = None
+ if self.__asn1SourcesToAdd is not None:
+ addMibCompiler(
+ mibViewController.mibBuilder,
+ sources=self.__asn1SourcesToAdd
+ )
+ self.__asn1SourcesToAdd = None
+
if self.__modNamesToLoad is not None:
mibViewController.mibBuilder.loadModules(*self.__modNamesToLoad)
self.__modNamesToLoad = None