WaarpInterfaceMib.java
/*
* This file is part of Waarp Project (named also Waarp or GG).
*
* Copyright (c) 2019, Waarp SAS, and individual contributors by the @author
* tags. See the COPYRIGHT.txt in the distribution for a full listing of
* individual contributors.
*
* All Waarp Project is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* Waarp is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* Waarp . If not, see <http://www.gnu.org/licenses/>.
*/
package org.waarp.snmp.interf;
import org.snmp4j.agent.MOGroup;
import org.snmp4j.agent.MOScope;
import org.snmp4j.agent.mo.snmp.SNMPv2MIB;
import org.snmp4j.smi.OID;
import org.waarp.snmp.WaarpSnmpAgent;
import org.waarp.snmp.utils.WaarpMOScalar;
/**
* Interface for All MIBs in Waarp project
*/
public interface WaarpInterfaceMib extends MOGroup {
OID rootEnterpriseMib = new OID(".1.3.6.1.4.1");
enum TrapLevel {
/**
* No Trap/Notification at all
*/
None,
/**
* Trap/Notification only for start and stop
*/
StartStop,
/**
* Trap/Notification up to high alert
*/
Alert,
/**
* Trap/Notification up to warning alert
*/
Warning,
/**
* Trap/Notification for all important elements
*/
All,
/**
* Trap/Notification for all, whatever level
*/
AllEvents;
public final boolean isLevelValid(final int level) {
return level >= ordinal();
}
}
/**
* Set the agent
*
* @param agent
*/
void setAgent(WaarpSnmpAgent agent);
/**
* @return the base OID for trap or notification of Start or Shutdown
*/
OID getBaseOidStartOrShutdown();
/**
* @return the SNMPv2MIB associated with this MIB
*/
SNMPv2MIB getSNMPv2MIB();
/**
* Update the row for these services
*
* @param scalar
*/
void updateServices(WaarpMOScalar scalar);
/**
* Update the row for these services
*
* @param range
*/
void updateServices(MOScope range);
}