# Path: pysnmp/proto/errind.py
# class ErrorIndication:
# class ParseError(ErrorIndication): pass
# class UnsupportedMsgProcessingModel(ErrorIndication): pass
# class UnknownPDUHandler(ErrorIndication): pass
# class UnsupportedPDUtype(ErrorIndication): pass
# class RequestTimedOut(ErrorIndication): pass
# class EmptyResponse(ErrorIndication): pass
# class NonReportable(ErrorIndication): pass
# class DataMismatch(ErrorIndication): pass
# class EngineIDMismatch(ErrorIndication): pass
# class UnknownEngineID(ErrorIndication): pass
# class TooBig(ErrorIndication): pass
# class LoopTerminated(ErrorIndication):pass
# class InvalidMsg(ErrorIndication):pass
# class UnknownCommunityName(ErrorIndication): pass
# class NoEncryption(ErrorIndication): pass
# class EncryptionError(ErrorIndication): pass
# class DecryptionError(ErrorIndication): pass
# class NoAuthentication(ErrorIndication): pass
# class AuthenticationError(ErrorIndication): pass
# class AuthenticationFailure(ErrorIndication): pass
# class UnsupportedAuthProtocol(ErrorIndication): pass
# class UnsupportedPrivProtocol(ErrorIndication): pass
# class UnknownSecurityName(ErrorIndication): pass
# class UnsupportedSecurityModel(ErrorIndication): pass
# class UnsupportedSecurityLevel(ErrorIndication): pass
# class NotInTimeWindow(ErrorIndication): pass
# class NoSuchView(ErrorIndication): pass
# class NoAccessEntry(ErrorIndication): pass
# class NoGroupName(ErrorIndication): pass
# class NoSuchContext(ErrorIndication): pass
# class NotInView(ErrorIndication): pass
# class AccessAllowed(ErrorIndication): pass
# class OtherError(ErrorIndication): pass
# class OidNotIncreasing(ErrorIndication): pass
#     def __init__(self, descr=None):
#     def __eq__(self, other): return self.__value == other
#     def __ne__(self, other): return self.__value != other
#     def __lt__(self, other): return self.__value < other
#     def __le__(self, other): return self.__value <= other
#     def __gt__(self, other): return self.__value > other
#     def __ge__(self, other): return self.__value >= other
#     def __str__(self): return self.__descr


from pysnmp.proto import errind, error
# Void Access Control Model

accessModelID = 0

# rfc3415 3.2
def isAccessAllowed(
    snmpEngine,
    securityModel,
    securityName,
    securityLevel,
    viewType,
    contextName,
    variableName):

    debug.logger & debug.flagACL and debug.logger('isAccessAllowed: viewType %s for variableName %s - OK' % (viewType, variableName))

    # rfc3415 3.2.5c

# Path: pysnmp/proto/errind.py
# class ErrorIndication:
# class ParseError(ErrorIndication): pass
# class UnsupportedMsgProcessingModel(ErrorIndication): pass
# class UnknownPDUHandler(ErrorIndication): pass
# class UnsupportedPDUtype(ErrorIndication): pass
# class RequestTimedOut(ErrorIndication): pass
# class EmptyResponse(ErrorIndication): pass
# class NonReportable(ErrorIndication): pass
# class DataMismatch(ErrorIndication): pass
# class EngineIDMismatch(ErrorIndication): pass
# class UnknownEngineID(ErrorIndication): pass
# class TooBig(ErrorIndication): pass
# class LoopTerminated(ErrorIndication):pass
# class InvalidMsg(ErrorIndication):pass
# class UnknownCommunityName(ErrorIndication): pass
# class NoEncryption(ErrorIndication): pass
# class EncryptionError(ErrorIndication): pass
# class DecryptionError(ErrorIndication): pass
# class NoAuthentication(ErrorIndication): pass
# class AuthenticationError(ErrorIndication): pass
# class AuthenticationFailure(ErrorIndication): pass
# class UnsupportedAuthProtocol(ErrorIndication): pass
# class UnsupportedPrivProtocol(ErrorIndication): pass
# class UnknownSecurityName(ErrorIndication): pass
# class UnsupportedSecurityModel(ErrorIndication): pass
# class UnsupportedSecurityLevel(ErrorIndication): pass
# class NotInTimeWindow(ErrorIndication): pass
# class NoSuchView(ErrorIndication): pass
# class NoAccessEntry(ErrorIndication): pass
# class NoGroupName(ErrorIndication): pass
# class NoSuchContext(ErrorIndication): pass
# class NotInView(ErrorIndication): pass
# class AccessAllowed(ErrorIndication): pass
# class OtherError(ErrorIndication): pass
# class OidNotIncreasing(ErrorIndication): pass
#     def __init__(self, descr=None):
#     def __eq__(self, other): return self.__value == other
#     def __ne__(self, other): return self.__value != other
#     def __lt__(self, other): return self.__value < other
#     def __le__(self, other): return self.__value <= other
#     def __gt__(self, other): return self.__value > other
#     def __ge__(self, other): return self.__value >= other
#     def __str__(self): return self.__descr


# Path: pysnmp/proto/acmod/void.py
from pysnmp.proto import errind, error

# Void Access Control Model

accessModelID = 0

# rfc3415 3.2
def isAccessAllowed(
    snmpEngine,
    securityModel,
    securityName,
    securityLevel,
    viewType,
    contextName,
    variableName):

    debug.logger & debug.flagACL and debug.logger('isAccessAllowed: viewType %s for variableName %s - OK' % (viewType, variableName))

    # rfc3415 3.2.5c

    return error.StatusInformation(errorIndication=errind.accessAllowed)