/// <summary> /// Return SNMP type object of the type specified by name. Supported variable types are: /// * <see cref="Integer32"/> /// * <see cref="Counter32"/> /// * <see cref="Gauge32"/> /// * <see cref="Counter64"/> /// * <see cref="TimeTicks"/> /// * <see cref="OctetString"/> /// * <see cref="IpAddress"/> /// * <see cref="Oid"/> /// * <see cref="Null"/> /// </summary> /// <param name="name">Name of the object type</param> /// <returns>New <see cref="AsnType"/> object.</returns> public static AsnType GetSyntaxObject(string name) { AsnType obj = null; if (name == "Integer32") { obj = new Integer32(); } else if (name == "Counter32") { obj = new Counter32(); } else if (name == "Gauge32") { obj = new Gauge32(); } else if (name == "Counter64") { obj = new Counter64(); } else if (name == "TimeTicks") { obj = new TimeTicks(); } else if (name == "OctetString") { obj = new OctetString(); } else if (name == "IpAddress") { obj = new IpAddress(); } else if (name == "Oid") { obj = new Oid(); } else if (name == "Null") { obj = new Null(); } else { throw new ArgumentException("Invalid value type name"); } return(obj); }
/// <summary> /// Return SNMP type object of the type specified by name. Supported variable types are: /// <see cref="Integer32"/>, <see cref="Counter32"/>, <see cref="Gauge32"/>, <see cref="Counter64"/>, /// <see cref="TimeTicks"/>, <see cref="OctetString"/>, <see cref="IpAddress"/>, <see cref="Oid"/>, and /// <see cref="Null"/>. /// /// Type names are the same as support class names compared without case sensitivity (e.g. Integer == INTEGER). /// </summary> /// <param name="name">Name of the object type (not case sensitive)</param> /// <returns>New <see cref="AsnType"/> object.</returns> public static AsnType GetSyntaxObject(string name) { AsnType obj = null; if (name.ToUpper().Equals("INTEGER32") || name.ToUpper().Equals("INTEGER")) { obj = new Integer32(); } else if (name.ToUpper().Equals("COUNTER32")) { obj = new Counter32(); } else if (name.ToUpper().Equals("GAUGE32")) { obj = new Gauge32(); } else if (name.ToUpper().Equals("COUNTER64")) { obj = new Counter64(); } else if (name.ToUpper().Equals("TIMETICKS")) { obj = new TimeTicks(); } else if (name.ToUpper().Equals("OCTETSTRING")) { obj = new OctetString(); } else if (name.ToUpper().Equals("IPADDRESS")) { obj = new IpAddress(); } else if (name.ToUpper().Equals("OID")) { obj = new Oid(); } else if (name.ToUpper().Equals("NULL")) { obj = new Null(); } else { throw new ArgumentException("Invalid value type name"); } return(obj); }
/// <summary>Used to create correct variable type object for the specified encoded type</summary> /// <param name="asnType">ASN.1 type code</param> /// <returns>A new object matching type supplied or null if type was not recognized.</returns> public static AsnType GetSyntaxObject(byte asnType) { AsnType obj = null; if (asnType == SnmpConstants.SMI_INTEGER) { obj = new Integer32(); } else if (asnType == SnmpConstants.SMI_COUNTER32) { obj = new Counter32(); } else if (asnType == SnmpConstants.SMI_GAUGE32) { obj = new Gauge32(); } else if (asnType == SnmpConstants.SMI_COUNTER64) { obj = new Counter64(); } else if (asnType == SnmpConstants.SMI_TIMETICKS) { obj = new TimeTicks(); } else if (asnType == SnmpConstants.SMI_STRING) { obj = new OctetString(); } else if (asnType == SnmpConstants.SMI_OPAQUE) { obj = new Opaque(); } else if (asnType == SnmpConstants.SMI_IPADDRESS) { obj = new IpAddress(); } else if (asnType == SnmpConstants.SMI_OBJECTID) { obj = new Oid(); } else if (asnType == SnmpConstants.SMI_PARTY_CLOCK) { obj = new V2PartyClock(); } else if (asnType == SnmpConstants.SMI_NOSUCHINSTANCE) { obj = new NoSuchInstance(); } else if (asnType == SnmpConstants.SMI_NOSUCHOBJECT) { obj = new NoSuchObject(); } else if (asnType == SnmpConstants.SMI_ENDOFMIBVIEW) { obj = new EndOfMibView(); } else if (asnType == SnmpConstants.SMI_NULL) { obj = new Null(); } return(obj); }
/// <summary>Constructor</summary> /// <param name="second">Irrelevant. Nothing to copy</param> public Null(Null second) : this() { }
/// <summary>Used to create correct variable type object for the specified encoded type</summary> /// <param name="asnType">ASN.1 type code</param> /// <returns>A new object matching type supplied or null if type was not recognized.</returns> public static AsnType GetSyntaxObject(ESMIDataTypeCode asnType) { AsnType obj = null; if (asnType == ESMIDataTypeCode.Integer) { obj = new Integer32(); } else if (asnType == ESMIDataTypeCode.Counter32) { obj = new Counter32(); } else if (asnType == ESMIDataTypeCode.Gauge32) { obj = new Gauge32(); } else if (asnType == ESMIDataTypeCode.Counter64) { obj = new Counter64(); } else if (asnType == ESMIDataTypeCode.TimeTicks) { obj = new TimeTicks(); } else if (asnType == ESMIDataTypeCode.OctetString) { obj = new OctetString(); } else if (asnType == ESMIDataTypeCode.Opaque) { obj = new Opaque(); } else if (asnType == ESMIDataTypeCode.IPAddress) { obj = new IpAddress(); } else if (asnType == ESMIDataTypeCode.ObjectId) { obj = new Oid(); } else if (asnType == ESMIDataTypeCode.PartyClock) { obj = new V2PartyClock(); } else if (asnType == ESMIDataTypeCode.NoSuchInstance) { obj = new NoSuchInstance(); } else if (asnType == ESMIDataTypeCode.NoSuchObject) { obj = new NoSuchObject(); } else if (asnType == ESMIDataTypeCode.EndOfMibView) { obj = new EndOfMibView(); } else if (asnType == ESMIDataTypeCode.Null) { obj = new Null(); } return(obj); }