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);
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        /// <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);
        }