--  *****************************************************************
--  DLINKPRIME-TIME-RANGE-MIB.mib : DLINK Time Range MIB
-- 
--  Copyright (c) 2014 D-Link Corporation, all rights reserved.
--   
--  *****************************************************************
DLINKPRIME-TIME-RANGE-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Unsigned32     
            FROM SNMPv2-SMI        
        RowStatus, DisplayString
            FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP
		    FROM SNMPv2-CONF
        dlinkPrimeCommon            
            FROM DLINK-ID-REC-MIB;

     dlinkPrimeTimeRangeMIB MODULE-IDENTITY
         LAST-UPDATED "201404260000Z"
         ORGANIZATION "D-Link Corp."
         CONTACT-INFO
            "        D-Link Corporation

             Postal: No. 289, Sinhu 3rd Rd., Neihu District,
                     Taipei City 114, Taiwan, R.O.C
             Tel:     +886-2-66000123
             E-mail: tsd@dlink.com.tw
            "
        DESCRIPTION
            "This MIB defines time range profiles to activate features."
         
        REVISION "201404260000Z"
        DESCRIPTION
            "This is the first version of the MIB file."
         ::= { dlinkPrimeCommon 24 }


-- -----------------------------------------------------------------------------
    dpTimeRangeMIBNotifications   OBJECT IDENTIFIER ::= { dlinkPrimeTimeRangeMIB 0 }
    dpTimeRangeMIBObjects         OBJECT IDENTIFIER ::= { dlinkPrimeTimeRangeMIB 1 }
    dpTimeRangeMIBConformance     OBJECT IDENTIFIER ::= { dlinkPrimeTimeRangeMIB 2 }

-- -----------------------------------------------------------------------------  
    dpTimeRangeProfileTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF DpTimeRangeProfileEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
             "A table consists of a list of time range profiles."
        ::= { dpTimeRangeMIBObjects 1 }

    dpTimeRangeProfileEntry OBJECT-TYPE
        SYNTAX          DpTimeRangeProfileEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "An entry contains information of a time range profile."
        INDEX { 
            dpTimeRangeProfileName,
            dpTimeRangeProfilePeriodType,             
            dpTimeRangeProfileStartDayOfWeek,
            dpTimeRangeProfileStartHour,
            dpTimeRangeProfileStartMinute,
            dpTimeRangeProfileEndDayOfWeek,
            dpTimeRangeProfileEndHour,
            dpTimeRangeProfileEndMinute      
        }
        ::= { dpTimeRangeProfileTable 1 }

    DpTimeRangeProfileEntry ::=           SEQUENCE {
        dpTimeRangeProfileName               DisplayString,      
        dpTimeRangeProfilePeriodType         INTEGER,
        dpTimeRangeProfileStartDayOfWeek     INTEGER,
        dpTimeRangeProfileStartHour          Unsigned32,
        dpTimeRangeProfileStartMinute        Unsigned32,
        dpTimeRangeProfileEndDayOfWeek       INTEGER,
        dpTimeRangeProfileEndHour            Unsigned32,
        dpTimeRangeProfileEndMinute          Unsigned32,      
        dpTimeRangeProfileRowStatus          RowStatus
    }

    dpTimeRangeProfileName           OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (1..8))
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "The time range name of the entry."
        ::= { dpTimeRangeProfileEntry 1 }         
           
	dpTimeRangeProfilePeriodType OBJECT-TYPE
		SYNTAX	INTEGER {
			daily(1),
			weekly(2)
		}
		MAX-ACCESS	    not-accessible
		STATUS	        current
	    DESCRIPTION
			"This object indicates the type of this entry.
            'daily' - Using the time of day to specify the time range.
            'weekly' - Using the day of the week and time of day to specify 
                      the time range.
            "
		::= { dpTimeRangeProfileEntry 2 }

    dpTimeRangeProfileStartDayOfWeek          OBJECT-TYPE
        SYNTAX          INTEGER  {
            sunday(1),
            monday(2),
            tuesday(3),
            wednesday(4),
            thursday(5),
            friday(6),
            saturday(7),
            notApplicable(8)
        }       
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object indicates the start day of week of the entry.
            This object is meaningful when dpTimeRangeProfilePeriodType is 'weekly'.
            If dpTimeRangeProfilePeriodType is not 'weekly', this object is set
            to 'notApplicable'.        
            "
        ::= { dpTimeRangeProfileEntry 3 }
       
    dpTimeRangeProfileStartHour OBJECT-TYPE
        SYNTAX          Unsigned32 (0..23)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object specifies the hours component of time (24 hour format)
            at which the daily/weekly periodic start time for this entry.
            "
        ::= { dpTimeRangeProfileEntry 4 }

    dpTimeRangeProfileStartMinute OBJECT-TYPE
        SYNTAX          Unsigned32 (0..59)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
           "This object specifies the minutes component of time at which
           the daily/weekly periodic start time for this entry.
           "
        ::= { dpTimeRangeProfileEntry 5 }
 
   dpTimeRangeProfileEndDayOfWeek          OBJECT-TYPE
        SYNTAX          INTEGER  {
            sunday(1),
            monday(2),
            tuesday(3),
            wednesday(4),
            thursday(5),
            friday(6),
            saturday(7),
            notApplicable(8)
        }       
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object indicates the end day of week of the entry.
            This object is meaningful when dpTimeRangeProfilePeriodType is 'weekly'.
            If dpTimeRangeProfilePeriodType is not 'weekly', this object is set
            to 'notApplicable'.
            "
        ::= { dpTimeRangeProfileEntry 6 }
       
    dpTimeRangeProfileEndHour OBJECT-TYPE
        SYNTAX          Unsigned32 (0..23)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object specifies the hours component of time (24 hour format)
            at which the daily/weekly periodic start time for this entry.
            "
        ::= { dpTimeRangeProfileEntry 7 }

    dpTimeRangeProfileEndMinute OBJECT-TYPE
        SYNTAX          Unsigned32 (0..59)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object specifies the minutes component of time at which
            the daily/weekly periodic end time for this entry.
            "
        ::= { dpTimeRangeProfileEntry 8 }

    dpTimeRangeProfileRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "This object indicates the RowStatus of this entry."
        ::= { dpTimeRangeProfileEntry  9 }

--  ***************************************************************************	
--  Conformance
--  ***************************************************************************			   		
	dpTimeRangeCompliances OBJECT IDENTIFIER ::= { dpTimeRangeMIBConformance 1 }
		
	dpTimeRangeCompliance MODULE-COMPLIANCE
		STATUS current
		DESCRIPTION 
			"The compliance statement for entities which implement the 
			DLINKPRIME-TIME-RANGE-MIB."
		MODULE -- this module
		MANDATORY-GROUPS { 
            dpTimeRangeProfileCfgGroup         
        }	
		
		::= { dpTimeRangeCompliances 1 }
		
	dpTimeRangeGroups OBJECT IDENTIFIER ::= { dpTimeRangeMIBConformance 2 }
	
	dpTimeRangeProfileCfgGroup OBJECT-GROUP
		OBJECTS { 
			dpTimeRangeProfileRowStatus 
		}
		STATUS current
		DESCRIPTION 
			"A collection of objects providing configuration for time range profiles."
		::= { dpTimeRangeGroups 1 }
	   
          
END
