Esempio n. 1
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;
            _parentNode.Append(this);
            Type = DetermineType(entity.GetType().ToString(), _name, _parentNode);

            Entity = entity;
        }
Esempio n. 2
0
 /// <summary>
 /// Creates an <see cref="ObjectTree"/> instance.
 /// </summary>
 public ObjectTree()
 {
     _root = Definition.RootDefinition;
     var ccitt = new Definition(new ObjectIdentifierType("SNMPv2-SMI", "ccitt", null, 0), _root);
     var iso = new Definition(new ObjectIdentifierType("SNMPv2-SMI", "iso", null, 1), _root);
     var jointIsoCcitt = new Definition(new ObjectIdentifierType("SNMPv2-SMI", "joint-iso-ccitt", null, 2), _root);
     _nameTable = new Dictionary<string, Definition>
                      {
                          { iso.TextualForm, iso },
                          { ccitt.TextualForm, ccitt },
                          { jointIsoCcitt.TextualForm, jointIsoCcitt }
                      };
 }
 public void TestGetAlternativeTextualForm()
 {            
     Definition root = Definition.RootDefinition;
     Definition iso = new Definition(new OidValueAssignment("SNMPV2-SMI", "iso", null, 1), root);
     Definition org = new Definition(new OidValueAssignment("SNMPV2-SMI", "org", "iso", 3), iso);
     Definition dod = new Definition(new OidValueAssignment("SNMPV2-SMI", "dod", "org", 6), org);
     Definition internet = new Definition(new OidValueAssignment("SNMPV2-SMI", "internet", "dod", 1), dod);
     Definition mgmt = new Definition(new OidValueAssignment("SNMPV2-SMI", "mgmt", "internet", 2), internet);
     Definition mib2 = new Definition(new OidValueAssignment("SNMPV2-SMI", "mib-2", "mgmt", 1), mgmt);
     Definition system = new Definition(new OidValueAssignment("SNMPV2-SMI", "system", "mib-2", 1), mib2);
     Assert.AreEqual("iso.org.dod.internet.mgmt.mib-2.system",
                     new SearchResult(system, new uint[0]).AlternativeText);
 }
Esempio n. 4
0
 /// <summary>
 /// Creates an <see cref="ObjectTree"/> instance.
 /// </summary>
 public ObjectTree()
 {
     _root = Definition.RootDefinition;
     Definition ccitt = new Definition(new OidValueAssignment("SNMPV2-SMI", "ccitt", null, 0), _root);
     Definition iso = new Definition(new OidValueAssignment("SNMPV2-SMI", "iso", null, 1), _root);
     Definition jointIsoCcitt = new Definition(new OidValueAssignment("SNMPV2-SMI", "joint-iso-ccitt", null, 2), _root);
     _nameTable = new Dictionary<string, Definition>
                      {
                          { iso.TextualForm, iso },
                          { ccitt.TextualForm, ccitt },
                          { jointIsoCcitt.TextualForm, jointIsoCcitt }
                      };
 }
Esempio n. 5
0
 private void AddToTable(Definition result)
 {
     if (result != null && !_nameTable.ContainsKey(result.TextualForm))
     {
         _nameTable.Add(result.TextualForm, result);
     }
 }