/*
* Copyright (c) 2002-2003 iReasoning Inc. All Rights Reserved.
*
* This SOURCE CODE FILE, which has been provided by iReasoning Inc. as part
* of an iReasoning Software product for use ONLY by licensed users of the product,
* includes CONFIDENTIAL and PROPRIETARY information of iReasoning Inc.
*
* USE OF THIS SOFTWARE IS GOVERNED BY THE TERMS AND CONDITIONS
* OF THE LICENSE STATEMENT AND LIMITED WARRANTY FURNISHED WITH
* THE PRODUCT.
*
* IN PARTICULAR, YOU WILL INDEMNIFY AND HOLD IREASONING SOFTWARE, ITS
* RELATED COMPANIES AND ITS SUPPLIERS, HARMLESS FROM AND AGAINST ANY
* CLAIMS OR LIABILITIES ARISING OUT OF THE USE, REPRODUCTION, OR
* DISTRIBUTION OF YOUR PROGRAMS, INCLUDING ANY CLAIMS OR LIABILITIES
* ARISING OUT OF OR RESULTING FROM THE USE, MODIFICATION, OR
* DISTRIBUTION OF PROGRAMS OR FILES CREATED FROM, BASED ON, AND/OR
* DERIVED FROM THIS SOURCE CODE FILE.
*/
package agent.subagent;
import java.io.*;
import java.util.*;
import com.ireasoning.util.*;
import com.ireasoning.protocol.snmp.*;
import javax.management.*;
/**
* Class represents subagentTable MIB object in SubagentModule
*/
public class SubagentTable extends SnmpTable implements SubagentTableMBean
{
/**
* Constructor
* @param root SnmpOID tree root
* @param oid the SnmpOID of this table. For example, ".1.3.6.1.2.1.2.2" for IfTable in RFC1213
* @param args the objects passed from caller for Initialization purpose
*/
public SubagentTable (OIDTreeNode root, String oid, Object[] args)
{
super(root, oid);
// TODO: Add your implementation
//public SubagentEntry( SnmpTable table, int subagentIndex, SnmpIpAddress subagentAddress, String subagentDescr, SnmpTimeTicks subagentUpTime, int subagentStatus)
SubagentEntry entry = new SubagentEntry(this, 1, new SnmpIpAddress("192.168.2.3"), "test subagent descr1", new SnmpTimeTicks(0), 1);
entry.addRow();
entry = new SubagentEntry(this, 2, new SnmpIpAddress( "192.168.2.5" ), "test subagent descr2", new SnmpTimeTicks(0), 1);
entry.addRow();
}
/**
* Creates a new instance of table entry object
*/
public SnmpTableEntry newEntryInstance()
{
return new SubagentEntry (this);
}
/**
* Gets subagentIndex value
* @param subagentEntry table entry object
* @param pdu the received SnmpPdu object
*/
public int getSubagentIndex(SnmpTableEntry subagentEntry, SnmpPdu pdu)
{
// This MIB node is not readable, so SubagentTableMBean does not have this method
synchronized (subagentEntry)
{
SubagentEntry entry = (SubagentEntry) subagentEntry;
// TODO: Add your implementation
return entry._subagentIndex;
}
}
/**
* Sets new subagentIndex value
* @param subagentEntry table entry object
* @param newValue new value to be set
* @param pdu the received SnmpPdu object
*/
public void setSubagentIndexValue(SnmpTableEntry subagentEntry, Object newValue, SnmpPdu pdu)
{
// This MIB node is not writeable, so SubagentTableMBean does not have this method
synchronized (subagentEntry)
{
SubagentEntry entry = (SubagentEntry) subagentEntry;
entry._subagentIndex = ( (Integer) newValue).intValue() ;
// TODO: Add your implementation
}
}
/**
* Gets subagentAddress value
* @param subagentEntry table entry object
* @param pdu the received SnmpPdu object
*/
public SnmpIpAddress getSubagentAddress(SnmpTableEntry subagentEntry, SnmpPdu pdu)
{
synchronized (subagentEntry)
{
SubagentEntry entry = (SubagentEntry) subagentEntry;
// TODO: Add your implementation
return entry._subagentAddress;
}
}
/**
* Sets new subagentAddress value
* @param subagentEntry table entry object
* @param newValue new value to be set
* @param pdu the received SnmpPdu object
*/
public void setSubagentAddressValue(SnmpTableEntry subagentEntry, Object newValue, SnmpPdu pdu)
{
synchronized (subagentEntry)
{
SubagentEntry entry = (SubagentEntry) subagentEntry;
entry._subagentAddress = (SnmpIpAddress) newValue;
// TODO: Add your implementation
}
}
/**
* Gets subagentDescr value
* @param subagentEntry table entry object
* @param pdu the received SnmpPdu object
*/
public String getSubagentDescr(SnmpTableEntry subagentEntry, SnmpPdu pdu)
{
synchronized (subagentEntry)
{
SubagentEntry entry = (SubagentEntry) subagentEntry;
// TODO: Add your implementation
return entry._subagentDescr;
}
}
/**
* Sets new subagentDescr value
* @param subagentEntry table entry object
* @param newValue new value to be set
* @param pdu the received SnmpPdu object
*/
public void setSubagentDescrValue(SnmpTableEntry subagentEntry, Object newValue, SnmpPdu pdu)
{
synchronized (subagentEntry)
{
SubagentEntry entry = (SubagentEntry) subagentEntry;
entry._subagentDescr = (String) newValue;
// TODO: Add your implementation
}
}
/**
* Gets subagentUpTime value
* @param subagentEntry table entry object
* @param pdu the received SnmpPdu object
*/
public SnmpTimeTicks getSubagentUpTime(SnmpTableEntry subagentEntry, SnmpPdu pdu)
{
synchronized (subagentEntry)
{
SubagentEntry entry = (SubagentEntry) subagentEntry;
// TODO: Add your implementation
//return entry._subagentUpTime;
return new SnmpTimeTicks(SnmpBaseAgent.getSysUpTime());
}
}
/**
* Sets new subagentUpTime value
* @param subagentEntry table entry object
* @param newValue new value to be set
* @param pdu the received SnmpPdu object
*/
public void setSubagentUpTimeValue(SnmpTableEntry subagentEntry, Object newValue, SnmpPdu pdu)
{
// This MIB node is not writeable, so SubagentTableMBean does not have this method
synchronized (subagentEntry)
{
SubagentEntry entry = (SubagentEntry) subagentEntry;
entry._subagentUpTime = (SnmpTimeTicks) newValue;
// TODO: Add your implementation
}
}
/**
* Gets subagentStatus value
* @param subagentEntry table entry object
* @param pdu the received SnmpPdu object
*/
public int getSubagentStatus(SnmpTableEntry subagentEntry, SnmpPdu pdu)
{
synchronized (subagentEntry)
{
SubagentEntry entry = (SubagentEntry) subagentEntry;
// TODO: Add your implementation
return entry._subagentStatus;
}
}
/**
* Sets new subagentStatus value
* @param subagentEntry table entry object
* @param newValue new value to be set
* @param pdu the received SnmpPdu object
*/
public void setSubagentStatusValue(SnmpTableEntry subagentEntry, Object newValue, SnmpPdu pdu)
{
synchronized (subagentEntry)
{
SubagentEntry entry = (SubagentEntry) subagentEntry;
entry._subagentStatus = ( (Integer) newValue).intValue() ;
// TODO: Add your implementation
}
}
}