Exemplo n.º 1
0
            public override void Visit(AmlParser.DefField defField)
            {
                Node operationRegionNode = acpiNamespace.LookupNode(defField.nameString.nodePath, currentPath);

                CheckObjectType(operationRegionNode.Value, AcpiObjectType.OperationRegion);
                SortedList fields = FieldUnit.CreateFromFieldList((AcpiObject.OperationRegion)(operationRegionNode.Value.GetTarget()),
                                                                  defField.fieldList,
                                                                  defField.fieldFlags.accessType, AccessAttrib.SMBNone,
                                                                  defField.fieldFlags.lockRule, defField.fieldFlags.updateRule);

                foreach (DictionaryEntry entry in fields)
                {
                    Node node = acpiNamespace.LookupNode(
                        new NodePath(false /*isAbsolute*/, 0, new string[] { (string)entry.Key }),
                        currentPath);
                    node.Value = (FieldUnit)entry.Value;
                }
            }
Exemplo n.º 2
0
            public override void Visit(AmlParser.DefField defField)
            {
                foreach (FieldElement fieldElement in defField.fieldList)
                {
                    switch (fieldElement.Tag)
                    {
                    case FieldElement.TagValue.NamedField:
                        AmlParser.NamedField namedField = fieldElement.GetAsNamedField();
                        Node node = acpiNamespace.CreateNodeAt(
                            new NodePath(false /*isAbsolute*/, 0, new string[] { namedField.nameSeg.data }),
                            currentPath);
                        break;

                    default:
                        break;
                    }
                }
            }
Exemplo n.º 3
0
 public override void Visit(AmlParser.DefField defField)
 {
     result.Add(new Field(defField.fieldFlags, defField.nameString.nodePath, defField.fieldList));
 }
Exemplo n.º 4
0
 public virtual void Visit(AmlParser.DefField defField)
 {
     UnhandledNodeType("DefField");
 }