public void TestSNMPv2TMTextual() { uint[] old = DefaultObjectRegistry.Instance.Translate("SNMPV2-SMI::snmpDomains"); string result = DefaultObjectRegistry.Instance.Translate(ObjectIdentifier.AppendTo(old, 1)); Assert.AreEqual("SNMPV2-TM::snmpUDPDomain", result); }
public uint[] Translate(string moduleName, string name) { if (moduleName == null) { throw new ArgumentNullException("moduleName"); } if (moduleName.Length == 0) { throw new ArgumentException("module cannot be empty"); } if (name == null) { throw new ArgumentNullException("name"); } if (name.Length == 0) { throw new ArgumentException("name cannot be empty"); } if (!name.Contains(".")) { return(_tree.Find(moduleName, name).GetNumericalForm()); } string[] content = name.Split('.'); if (content.Length != 2) { throw new ArgumentException("name can only contain one dot"); } int value; bool succeeded = int.TryParse(content[1], out value); if (!succeeded) { throw new ArgumentException("not a decimal after dot"); } uint[] oid = _tree.Find(moduleName, content[0]).GetNumericalForm(); return(ObjectIdentifier.AppendTo(oid, (uint)value)); }
/// <summary> /// Creates a <see cref="Definition"/> instance. /// </summary> /// <param name="parent"></param> /// <param name="entity"></param> internal Definition(IEntity entity, Definition parent) { if (entity == null) { throw new ArgumentNullException("entity"); } if (parent == null) { throw new ArgumentNullException("parent"); } _parentNode = parent; uint[] id = string.IsNullOrEmpty(parent.Name) ? null : parent._id; // null for root node (use _id rather than GetNumericalForm to avoid the Clone) _id = ObjectIdentifier.AppendTo(id, entity.Value); _parent = parent.Name; _name = entity.Name; _module = entity.ModuleName; _value = entity.Value; _description = entity.Description; _parentNode.Append(this); Type = DetermineType(entity.GetType().ToString(), _name, _parentNode); }