1 11 12 13 package com.sun.jmx.snmp; 14 15 16 import java.io.Serializable ; 19 20 import com.sun.jmx.snmp.SnmpPduFactory; 23 import com.sun.jmx.snmp.SnmpMessage; 24 import com.sun.jmx.snmp.SnmpPduPacket; 25 import com.sun.jmx.snmp.SnmpPdu; 26 import com.sun.jmx.snmp.SnmpMsg; 27 import com.sun.jmx.snmp.SnmpStatusException; 28 import com.sun.jmx.snmp.SnmpTooBigException; 29 import com.sun.jmx.snmp.SnmpDefinitions; 30 31 import com.sun.jmx.snmp.SnmpV3Message; 34 35 64 65 public class SnmpPduFactoryBER implements SnmpPduFactory, Serializable { 66 76 public SnmpPdu decodeSnmpPdu(SnmpMsg msg) throws SnmpStatusException { 77 return msg.decodeSnmpPdu(); 78 } 79 80 97 public SnmpMsg encodeSnmpPdu(SnmpPdu p, int maxDataLength) 98 throws SnmpStatusException, SnmpTooBigException { 99 switch(p.version) { 100 case SnmpDefinitions.snmpVersionOne: 101 case SnmpDefinitions.snmpVersionTwo: { 102 SnmpMessage result = new SnmpMessage(); 103 result.encodeSnmpPdu((SnmpPduPacket) p, maxDataLength); 104 return result; 105 } 106 case SnmpDefinitions.snmpVersionThree: { 107 SnmpV3Message result = new SnmpV3Message(); 108 result.encodeSnmpPdu(p, maxDataLength); 109 return result; 110 } 111 default: 112 return null; 113 } 114 } 115 } 116 117 | Popular Tags |