org.ocap.diagnostics
Class MIBManager

java.lang.Object
  extended by org.ocap.diagnostics.MIBManager

public abstract class MIBManager
extends Object

The MIBManager class provides Management Information Base (MIB) access to the host's MIB. Applications may use the MIBManager to make MIB queries. In addition, applications can set a MIB Object that can be retrieved from the Host device using SNMP.


Field Summary
static int ECM_SUBDEVICE
          Used to identify the subdevice type and query eCM MIB values.
static int ESTB_SUBDEVICE
          Used to identify the subdevice type and query Host MIB values.
static int MIB_ACCESS_READONLY
           
static int MIB_ACCESS_READWRITE
           
static int MIB_ACCESS_WRITEONLY
           
 
Constructor Summary
protected MIBManager()
          Protected constructor, no application access.
 
Method Summary
static MIBManager getInstance()
          Gets the MIBManager.
abstract  MIBDefinition[] queryMibs(int subDevice, String oid)
          Makes a query for all MIB objects matching the oid parameter, as well as any descendants in the MIB tree, in a specific sub-device including eSTB and eCM.
abstract  MIBDefinition[] queryMibs(String oid)
          Makes a query for all MIB objects matching the oid parameter, as well as any descendants in the MIB tree.
abstract  void registerOID(String oid, int access, boolean leaf, int dataType, MIBListener listener)
          Registers a MIB object by adding the OID and listener to the MIB tables.
abstract  void setMIBObject(MIBObject mibToSet)
          Sets a Host MIB object.
abstract  void unregisterOID(String oid)
          Unregisters a previously registered OID if the OID was registered by the same application.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MIB_ACCESS_READONLY

public static final int MIB_ACCESS_READONLY
See Also:
Constant Field Values

MIB_ACCESS_READWRITE

public static final int MIB_ACCESS_READWRITE
See Also:
Constant Field Values

MIB_ACCESS_WRITEONLY

public static final int MIB_ACCESS_WRITEONLY
See Also:
Constant Field Values

ECM_SUBDEVICE

public static final int ECM_SUBDEVICE
Used to identify the subdevice type and query eCM MIB values.

See Also:
Constant Field Values

ESTB_SUBDEVICE

public static final int ESTB_SUBDEVICE
Used to identify the subdevice type and query Host MIB values.

See Also:
Constant Field Values
Constructor Detail

MIBManager

protected MIBManager()
Protected constructor, no application access.

Method Detail

getInstance

public static MIBManager getInstance()
Gets the MIBManager.

Returns:
The MIBManager.
Throws:
SecurityException - if the calling application does not have MonitorAppPermission("diagnostics").

registerOID

public abstract void registerOID(String oid,
                                 int access,
                                 boolean leaf,
                                 int dataType,
                                 MIBListener listener)
Registers a MIB object by adding the OID and listener to the MIB tables. OID must be unique and not pre-existing. OID must include a trailing ".0" for leaf items or but not include the instance ID for table column items. (The same listener may be installed to will be invoked for all row instances for table column items. any number of OIDs, if desired.) Table OIDs may be the OID of the start of the table or a column within the table, depending upon whether the implementation desires handling all table values with a single listener, or have different listeners for each column.

Parameters:
oid - The Object Identifier of the MIB being registered. The format of the string is based on the format defined by RFC 2578 for OBJECT IDENTIFIER definition. Terms in the string are period delimited, e.g. "1.3.6.1.4.1".
access - Indicates allowed access to the MIB being registered. See access constants in the class for valid values.
leaf - When true indicates if the object is a leaf, otherwise the object is a non-leaf table column.
dataType - The data type of the MIB being registered. See constants in MIBDefinition for valid values.
listener - Listener to the MIB being registered. Must not be null.
Throws:
IllegalArgumentException - if oid is an invalid oid string, if oid is already installed, or any other parameter has an invalid value.

unregisterOID

public abstract void unregisterOID(String oid)
Unregisters a previously registered OID if the OID was registered by the same application.

Parameters:
oid - An object identifier that was passed to the registerOID method.
Throws:
IllegalArgumentException - if parameter does not match an OID registered with the registerOID method.

queryMibs

public abstract MIBDefinition[] queryMibs(String oid)
Makes a query for all MIB objects matching the oid parameter, as well as any descendants in the MIB tree. If the object to be searched for is a leaf the trailing ".0" must be included for an exact match. A query for a leaf object SHALL return just that object if found. A query for a non-leaf OID SHALL return all MIB objects below that OID. Existing leaf and table items SHALL be included in the results; branch-nodes without data SHALL NOT. For example; If a query is for OID 1.2.3.4 then all table items and leafs below that OID are returned. If OIDs 1.2.3.4.1 and 1.2.3.4.2 are the only items below the query object they would be returned. The query SHALL NOT return items outside the OID. For example; if 1.2.3.4 is the query OID then 1.2.3.5 is not returned.

If the CableCARD supports MIB APDUs then this method SHALL be able to query the CableCARD MIB objects.

Parameters:
oid - The object identifier to search for. The format of the string is based on the format defined by RFC 2578 for OBJECT IDENTIFIER definition. Terms in the string are period delimited, e.g. "1.3.6.1.4.1".
Returns:
An array of MIB definitions. The array is lexographically ordered by increasing value of OID with the lowest value in the first element of the array.

queryMibs

public abstract MIBDefinition[] queryMibs(int subDevice,
                                          String oid)
Makes a query for all MIB objects matching the oid parameter, as well as any descendants in the MIB tree, in a specific sub-device including eSTB and eCM. If the object to be searched for is a leaf the trailing ".0" must be included for an exact match. A query for a leaf object SHALL return just that object if found. A query for a non-leaf OID SHALL return all MIB objects below that OID. Existing leaf and table items SHALL be included in the results; branch-nodes without data SHALL NOT. For example; If a query is for OID 1.2.3.4 then all table items and leafs below that OID are returned. If OIDs 1.2.3.4.1 and 1.2.3.4.2 are the only items below the query object they would be returned. The query SHALL NOT return items outside the OID. For example; if 1.2.3.4 is the query OID then 1.2.3.5 is not returned.

If ECM_SUBDEVICE is the subDevice argument value the implementation SHALL allow eCM MIB query in an implementation specific fashion. The Host device may restrict eCM MIB access to a particular subset of MIB objects; see Host CFR for required eCM MIB support.

Parameters:
subDevice - The sub-device to read the MIB from. Using ESTB_SUBDEVICE is equivalent to calling queryMibs(String).
oid - The object identifier to search for. The format of the string is based on the format defined by RFC 2578 for OBJECT IDENTIFIER definition. Terms in the string are period delimited, e.g. "1.3.6.1.4.1".
Returns:
An array of MIB definitions. The array is lexographically ordered by increasing value of OID with the lowest value in the first element of the array.
Throws:
IllegalArgumentException - if the subDevice is not one of the ECM_SUBDEVICE or ESTB_SUBDEVICE.

setMIBObject

public abstract void setMIBObject(MIBObject mibToSet)
Sets a Host MIB object. The OID in the MIBObject parameter must reference a writable MIB object supported by the implementation.

Note; This method can only set writable MIBs in the Host device (i.e. ESTB_SUBDEVICE). Writable MIBs for other sub-devices such as CableCARD and eCM cannot be set using this method.

Parameters:
mibToSet - The MIB to set. The OID in the MIBObject SHALL be used to replace values with the data array in the parameter.
Throws:
IllegalArgumentException - if the OID in the MIBObject parameter does not reference a supported Host MIB or if the data attribute in the MIBObject parameter is not in the correct ASN.1 form for the OID.
SecurityException - if the MIB is not writable or if the calling application does not have MonitorAppPermission("diagnostics").


Copyright © 2011. All Rights Reserved.