/*
* 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.ifmib;
import java.io.*;
import java.util.*;
import com.ireasoning.util.*;
import com.ireasoning.protocol.snmp.*;
import javax.management.*;
/**
* Class represents ifRcvAddressTable MIB object in IF_MIB
*/
public class IfRcvAddressTable extends SnmpTable implements IfRcvAddressTableMBean
{
/**
* 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 IfRcvAddressTable (OIDTreeNode root, String oid, Object[] args)
{
super(root, oid);
// TODO: Add your implementation
//New code
addEntries();
}
private void addEntries()
{
ArrayList netifs = Util.ipconfig();
int size = netifs.size();
for (int i = 0; i < size ; i++)
{
NetInterface netif = (NetInterface) netifs.get(i);
if(netif.physAddress == null || netif.physAddress.length() == 0) continue;
//public IfRcvAddressEntry( SnmpTable table, String ifRcvAddressAddress, int ifRcvAddressStatus, int ifRcvAddressType)
IfRcvAddressEntry entry = new IfRcvAddressEntry(this, netif.physAddress, SnmpRowStatus.ACTIVE, 3);
entry.addRow();
}
}
/**
* Creates a new instance of table entry object
*/
public SnmpTableEntry newEntryInstance()
{
return new IfRcvAddressEntry (this);
}
/**
* Gets ifRcvAddressAddress value
* @param ifRcvAddressEntry table entry object
* @param pdu the received SnmpPdu object
*/
public String getIfRcvAddressAddress(SnmpTableEntry ifRcvAddressEntry, SnmpPdu pdu)
{
// This MIB node is not readable, so IfRcvAddressTableMBean does not have this method
synchronized (ifRcvAddressEntry)
{
IfRcvAddressEntry entry = (IfRcvAddressEntry) ifRcvAddressEntry;
// TODO: Add your implementation
return entry._ifRcvAddressAddress;
}
}
/**
* Sets new ifRcvAddressAddress value
* @param ifRcvAddressEntry table entry object
* @param newValue new value to be set
* @param pdu the received SnmpPdu object
*/
public void setIfRcvAddressAddressValue(SnmpTableEntry ifRcvAddressEntry, Object newValue, SnmpPdu pdu)
{
// This MIB node is not writeable, so IfRcvAddressTableMBean does not have this method
synchronized (ifRcvAddressEntry)
{
IfRcvAddressEntry entry = (IfRcvAddressEntry) ifRcvAddressEntry;
entry._ifRcvAddressAddress = (String) newValue;
// TODO: Add your implementation
}
}
/**
* Gets ifRcvAddressStatus value
* @param ifRcvAddressEntry table entry object
* @param pdu the received SnmpPdu object
*/
public int getIfRcvAddressStatus(SnmpTableEntry ifRcvAddressEntry, SnmpPdu pdu)
{
synchronized (ifRcvAddressEntry)
{
IfRcvAddressEntry entry = (IfRcvAddressEntry) ifRcvAddressEntry;
// TODO: Add your implementation
return entry._ifRcvAddressStatus;
}
}
/**
* Sets new ifRcvAddressStatus value
* @param ifRcvAddressEntry table entry object
* @param newValue new value to be set
* @param pdu the received SnmpPdu object
*/
public void setIfRcvAddressStatusValue(SnmpTableEntry ifRcvAddressEntry, Object newValue, SnmpPdu pdu)
{
synchronized (ifRcvAddressEntry)
{
IfRcvAddressEntry entry = (IfRcvAddressEntry) ifRcvAddressEntry;
entry._ifRcvAddressStatus = ( (Integer) newValue).intValue() ;
// TODO: Add your implementation
}
}
/**
* Gets ifRcvAddressType value
* @param ifRcvAddressEntry table entry object
* @param pdu the received SnmpPdu object
*/
public int getIfRcvAddressType(SnmpTableEntry ifRcvAddressEntry, SnmpPdu pdu)
{
synchronized (ifRcvAddressEntry)
{
IfRcvAddressEntry entry = (IfRcvAddressEntry) ifRcvAddressEntry;
// TODO: Add your implementation
return entry._ifRcvAddressType;
}
}
/**
* Sets new ifRcvAddressType value
* @param ifRcvAddressEntry table entry object
* @param newValue new value to be set
* @param pdu the received SnmpPdu object
*/
public void setIfRcvAddressTypeValue(SnmpTableEntry ifRcvAddressEntry, Object newValue, SnmpPdu pdu)
{
synchronized (ifRcvAddressEntry)
{
IfRcvAddressEntry entry = (IfRcvAddressEntry) ifRcvAddressEntry;
entry._ifRcvAddressType = ( (Integer) newValue).intValue() ;
// TODO: Add your implementation
}
}
}