THREADING-MIB DEFINITIONS ::= BEGIN

------------------------------------------------------------------------
-- MIB for python-netsnmpagent's example threading_agent.py
-- Copyright (c) 2012 Pieter Hollants <pieter@hollants.com>
-- Licensed under the GNU Public License (GPL) version 3
------------------------------------------------------------------------

-- Imports
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    Integer32, Unsigned32, Counter32, Counter64, TimeTicks, IpAddress,
    enterprises
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, DisplayString
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    agentxObjects
        FROM AGENTX-MIB;

-- Description and update information                                                                                                            
threadingMIB MODULE-IDENTITY
    LAST-UPDATED "201307070000Z"
    ORGANIZATION "N/A"
    CONTACT-INFO
        "Editor:
        Pieter Hollants
        EMail: <pieter@hollants.com>"
    DESCRIPTION
        "A MIB for python-netsnmpagent's example threading_agent.py"

    REVISION    "201307070000Z"
    DESCRIPTION
        "First version."

    ::= { agentxObjects 101 }

-- Definition of a generic ThreadingNotificationStatus type
ThreadingNotificationStatus ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Indicates the enabling or disabling of a particular class of
        notifications."
    SYNTAX INTEGER {
        disabled (0),   -- This class of notifications is disabled
        enabled  (1)    -- This class of notifications is enabled
}

-- Definition of MIB's root nodes

threadingMIBObjects         OBJECT IDENTIFIER ::= { threadingMIB 1 }
threadingMIBNotifications   OBJECT IDENTIFIER ::= { threadingMIB 2 }
threadingMIBConformance     OBJECT IDENTIFIER ::= { threadingMIB 3 }

threadingScalars            OBJECT IDENTIFIER ::= { threadingMIBObjects 1 }

------------------------------------------------------------------------
-- Scalars
------------------------------------------------------------------------

threadingString OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A string. Curious about its contents?"
    ::= { threadingScalars 1 }

------------------------------------------------------------------------
-- Notifications
------------------------------------------------------------------------

events      OBJECT IDENTIFIER ::= { threadingMIBNotifications 0 }
operation   OBJECT IDENTIFIER ::= { threadingMIBNotifications 1 }

threadingStringChange NOTIFICATION-TYPE
    OBJECTS {
        threadingString
    }
    STATUS  current
    DESCRIPTION
        "A threadingStringChange notification signifies that there has
        been a change to the value of threadingString."
    ::= { events 1 }

threadingStringChangeNotificationsEnabled OBJECT-TYPE
    SYNTAX      ThreadingNotificationStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls whether threadingStringChange notifications are
        enabled or disabled."
    ::= { operation 1 }

------------------------------------------------------------------------
-- Conformance
------------------------------------------------------------------------

threadingMIBGroups      OBJECT IDENTIFIER ::= { threadingMIBConformance 1 }

threadingMIBScalarsGroup OBJECT-GROUP
    OBJECTS {
        threadingString,
        threadingStringChangeNotificationsEnabled
    }
    STATUS  current
    DESCRIPTION
        "A collection of objects related to threadingScalars."
    ::= { threadingMIBGroups 1 }

threadingMIBScalarsNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        threadingStringChange
    }
    STATUS  current
    DESCRIPTION
        "The notifications which indicate specific changes in
        threadingScalars."
    ::= { threadingMIBGroups 2 }

END
