⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 agentppsimulationmib.java

📁 你个snmp的源码
💻 JAVA
字号:
/*_############################################################################  _##  _##  SNMP4J-Agent - AgentppSimulationMib.java  _##  _##  Copyright 2005-2006  Frank Fock (SNMP4J.org)  _##  _##  Licensed under the Apache License, Version 2.0 (the "License");  _##  you may not use this file except in compliance with the License.  _##  You may obtain a copy of the License at  _##  _##      http://www.apache.org/licenses/LICENSE-2.0  _##  _##  Unless required by applicable law or agreed to in writing, software  _##  distributed under the License is distributed on an "AS IS" BASIS,  _##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  _##  See the License for the specific language governing permissions and  _##  limitations under the License.  _##  _##########################################################################*/package org.snmp4j.agent.mo.ext;//--AgentGen BEGIN=_BEGIN//--AgentGen ENDimport org.snmp4j.smi.*;import org.snmp4j.mp.SnmpConstants;import org.snmp4j.agent.*;import org.snmp4j.agent.mo.*;import org.snmp4j.agent.mo.snmp.*;import org.snmp4j.agent.mo.snmp.smi.*;import org.snmp4j.agent.request.*;import org.snmp4j.log.LogFactory;import org.snmp4j.log.LogAdapter;//--AgentGen BEGIN=_IMPORT//--AgentGen ENDpublic class AgentppSimulationMib//--AgentGen BEGIN=_EXTENDS//--AgentGen ENDimplements MOGroup//--AgentGen BEGIN=_IMPLEMENTS//--AgentGen END{  private static final LogAdapter LOGGER =      LogFactory.getLogger(AgentppSimulationMib.class);//--AgentGen BEGIN=_STATIC//--AgentGen END  // Factory  private static MOFactory moFactory = DefaultMOFactory.getInstance();  // Constants  public static final OID oidAgentppSimMode =    new OID(new int[] { 1,3,6,1,4,1,4976,2,1,1,0 });  public static final OID oidAgentppSimDeleteRow =    new OID(new int[] { 1,3,6,1,4,1,4976,2,1,2,0 });  public static final OID oidAgentppSimDeleteTableContents =    new OID(new int[] { 1,3,6,1,4,1,4976,2,1,3,0 });  // Enumerations  public static final class AgentppSimModeEnum {    public static final int oper = 1;    public static final int config = 2;  }  // TextualConventions  // Scalars  private MOScalar agentppSimMode;  private MOScalar agentppSimDeleteRow;  private MOScalar agentppSimDeleteTableContents;  // Tables//--AgentGen BEGIN=_MEMBERS  private MOServer moServer;  private OctetString myContext;//--AgentGen END  public AgentppSimulationMib() {    agentppSimMode =      new AgentppSimMode(oidAgentppSimMode, MOAccessImpl.ACCESS_READ_WRITE);    agentppSimDeleteRow =      new AgentppSimDeleteRow(oidAgentppSimDeleteRow,                              MOAccessImpl.ACCESS_READ_WRITE);    agentppSimDeleteTableContents =      new AgentppSimDeleteTableContents(oidAgentppSimDeleteTableContents,                                        MOAccessImpl.ACCESS_READ_WRITE);//--AgentGen BEGIN=_DEFAULTCONSTRUCTOR//--AgentGen END  }//--AgentGen BEGIN=_CONSTRUCTORS//--AgentGen END  public void registerMOs(MOServer server, OctetString context)    throws DuplicateRegistrationException  {    // Scalar Objects    server.register(this.agentppSimMode, context);    server.register(this.agentppSimDeleteRow, context);    server.register(this.agentppSimDeleteTableContents, context);//--AgentGen BEGIN=_registerMOs    moServer = server;    myContext = context;//--AgentGen END  }  public void unregisterMOs(MOServer server, OctetString context) {    // Scalar Objects    server.unregister(this.agentppSimMode, context);    server.unregister(this.agentppSimDeleteRow, context);    server.unregister(this.agentppSimDeleteTableContents, context);//--AgentGen BEGIN=_unregisterMOs    moServer = null;    myContext = null;//--AgentGen END  }  // Notifications  // Scalars  public class AgentppSimMode extends EnumeratedScalar {    AgentppSimMode(OID oid, MOAccess access) {      super(oid, access, new Integer32(),            new int[] { AgentppSimModeEnum.oper,                        AgentppSimModeEnum.config });//--AgentGen BEGIN=agentppSimMode      setValue(new Integer32(AgentppSimModeEnum.oper));      setVolatile(true);//--AgentGen END    }    public int setValue(Variable newValue) {     //--AgentGen BEGIN=agentppSimMode::setValue     SimMOFactory.setSimulationModeEnabled(((Integer32)newValue).getValue() ==                                           AgentppSimModeEnum.config);     //--AgentGen END      return super.setValue(newValue);    }     //--AgentGen BEGIN=agentppSimMode::_METHODS     //--AgentGen END  }  public class AgentppSimDeleteRow extends MOScalar {    AgentppSimDeleteRow(OID oid, MOAccess access) {      super(oid, access, new OID());//--AgentGen BEGIN=agentppSimDeleteRow      super.setValue(SnmpConstants.zeroDotZero);      setVolatile(true);//--AgentGen END    }    public int isValueOK(SubRequest request) {      Variable newValue =        request.getVariableBinding().getVariable();      int valueOK = super.isValueOK(request);      if (valueOK != SnmpConstants.SNMP_ERROR_SUCCESS) {      	return valueOK;      }     //--AgentGen BEGIN=agentppSimDeleteRow::isValueOK     if (AgentppSimulationMib.this.moServer == null) {       return SnmpConstants.SNMP_ERROR_RESOURCE_UNAVAILABLE;     }     OID oid = (OID)newValue;     ManagedObject mo = getManagedObject(oid);     if (!(mo instanceof MOTable)) {       return SnmpConstants.SNMP_ERROR_WRONG_VALUE;     }     MOTable table = (MOTable)mo;     OID index = new OID(oid.getValue(), table.getOID().size(),                         oid.size()-table.getOID().size());     MOTableRow row = table.getModel().getRow(index);     if (row == null) {       return SnmpConstants.SNMP_ERROR_WRONG_VALUE;     }     //--AgentGen END      return valueOK;    }    public int setValue(Variable newValue) {     //--AgentGen BEGIN=agentppSimDeleteRow::setValue     if (AgentppSimulationMib.this.moServer == null) {       return SnmpConstants.SNMP_ERROR_COMMIT_FAILED;     }     OID oid = (OID)newValue;     ManagedObject mo = getManagedObject(oid);     if (!(mo instanceof MOTable)) {       return SnmpConstants.SNMP_ERROR_COMMIT_FAILED;     }     MOTable table = (MOTable)mo;     OID index = new OID(oid.getValue(), table.getOID().size(),                         oid.size()-table.getOID().size());     MOTableRow row = table.removeRow(index);     if (row == null) {       return SnmpConstants.SNMP_ERROR_COMMIT_FAILED;     }     //--AgentGen END      return super.setValue(newValue);    }     //--AgentGen BEGIN=agentppSimDeleteRow::_METHODS     //--AgentGen END  }  public class AgentppSimDeleteTableContents extends MOScalar {    AgentppSimDeleteTableContents(OID oid, MOAccess access) {      super(oid, access, new OID());//--AgentGen BEGIN=agentppSimDeleteTableContents      setVolatile(true);//--AgentGen END    }    public int isValueOK(SubRequest request) {      Variable newValue =        request.getVariableBinding().getVariable();      int valueOK = super.isValueOK(request);      if (valueOK != SnmpConstants.SNMP_ERROR_SUCCESS) {      	return valueOK;      }     //--AgentGen BEGIN=agentppSimDeleteTableContents::isValueOK     if (AgentppSimulationMib.this.moServer == null) {       return SnmpConstants.SNMP_ERROR_RESOURCE_UNAVAILABLE;     }     OID oid = (OID)newValue;     oid.append(0);     ManagedObject mo = getManagedObject(oid);     if ((!(mo instanceof MOTable)) ||         (!(((MOTable)mo).getModel() instanceof MOMutableTableModel))) {       return SnmpConstants.SNMP_ERROR_WRONG_VALUE;     }     //--AgentGen END      return valueOK;    }    public int setValue(Variable newValue) {     //--AgentGen BEGIN=agentppSimDeleteTableContents::setValue     if (AgentppSimulationMib.this.moServer == null) {       return SnmpConstants.SNMP_ERROR_COMMIT_FAILED;     }     OID oid = (OID)newValue;     oid.append(0);     ManagedObject mo = getManagedObject(oid);     if ((!(mo instanceof MOTable)) &&         (!(((MOTable)mo).getModel() instanceof MOMutableTableModel))) {       return SnmpConstants.SNMP_ERROR_COMMIT_FAILED;     }     MOTable table = (MOTable)mo;     ((MOMutableTableModel)table.getModel()).clear();     //--AgentGen END      return super.setValue(newValue);    }     //--AgentGen BEGIN=agentppSimDeleteTableContents::_METHODS     //--AgentGen END  }  // Value Validators  // Rows and Factories//--AgentGen BEGIN=_METHODS  private synchronized ManagedObject getManagedObject(OID oid) {    MOQuery query = new DefaultMOQuery(new DefaultMOContextScope(myContext,        oid, true, oid, true));    ManagedObject mo = AgentppSimulationMib.this.moServer.lookup(query);    return mo;  }//--AgentGen END//--AgentGen BEGIN=_CLASSES//--AgentGen END//--AgentGen BEGIN=_END//--AgentGen END}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -