Ejemplo n.º 1
0
 public void Read(XmlReader reader, SpecRegistry model)
 {
     foreach (var child in reader.ReadElementTree())
     {
         if (child.Name == "group")
         {
             var group = new SpecGroup();
             group.Read(child, model);
             Groups.Add(group);
         }
     }
 }
Ejemplo n.º 2
0
 public void Read(XmlReader reader, SpecRegistry model)
 {
     foreach (var child in reader.ReadElementTree())
     {
         if (child.Name == "type")
         {
             var type = new SpecType();
             type.Read(reader, model);
             Types.Add(type);
         }
     }
 }
Ejemplo n.º 3
0
        public void Read(XmlReader reader, SpecRegistry model)
        {
            Api     = reader.GetAttribute("api");
            Profile = reader.GetAttribute("profile");
            Comment = reader.GetAttribute("comment");

            foreach (var child in reader.ReadElementTree())
            {
                var value = new SpecInterface();
                value.Read(reader, model);
                Add(value);
            }
        }
Ejemplo n.º 4
0
        public void Read(XmlReader reader, SpecRegistry model)
        {
            Value = SpecUtil.Parse(reader.GetAttribute("value"));
            Name  = reader.GetAttribute("name");
            Api   = reader.GetAttribute("api");
            var type = reader.GetAttribute("type");

            if (type != null && !Enum.TryParse(type, true, out Type))
            {
                throw new XmlException();
            }
            Alias = reader.GetAttribute("alias");
        }
Ejemplo n.º 5
0
        public void Read(XmlReader reader, SpecRegistry model)
        {
            Name = reader.GetAttribute("name");

            foreach (var child in reader.ReadElementTree())
            {
                if (child.Name == "enum")
                {
                    var value = child.GetAttribute("name");
                    Enums.Add(value);
                }
            }
        }
Ejemplo n.º 6
0
        public void Read(XmlReader reader, SpecRegistry model)
        {
            Namespace = reader.GetAttribute("namespace");

            foreach (var child in reader.ReadElementTree())
            {
                if (reader.Name == "command")
                {
                    var value = new SpecCommand();
                    value.Read(reader, model);
                    Commands.Add(value);
                }
            }
        }
Ejemplo n.º 7
0
        public void Read(XmlReader reader, SpecRegistry model)
        {
            Namespace = reader.GetAttribute("namespace");
            Group     = reader.GetAttribute("group");
            Type      = reader.GetAttribute("type");
            Start     = SpecUtil.Parse(reader.GetAttribute("start"));
            End       = SpecUtil.Parse(reader.GetAttribute("end"));
            Ventor    = reader.GetAttribute("ventor");
            Comment   = reader.GetAttribute("comment");

            foreach (var child in reader.ReadElementTree())
            {
                if (child.Name == "enum")
                {
                    var value = new SpecEnum();
                    value.Read(child, model);
                    Enums.Add(value);
                }
            }
        }
Ejemplo n.º 8
0
        public void Read(XmlReader reader, SpecRegistry model)
        {
            isExtension = reader.Name == "extension";

            Api  = reader.GetAttribute("api");
            Name = reader.GetAttribute("name");

            var value = reader.GetAttribute("number");

            Number = value == null ? 0f : float.Parse(value, CultureInfo.InvariantCulture);

            value     = reader.GetAttribute("supported");
            Supported = value == null ? null : new Regex("^(" + value + ")$", RegexOptions.CultureInvariant);

            Protect = reader.GetAttribute("protect");
            Comment = reader.GetAttribute("comment");

            foreach (var child in reader.ReadElementTree())
            {
                if (reader.Name == "require")
                {
                    if (Require == null)
                    {
                        Require = new List <SpecInterfaceList> ();
                    }
                    var list = new SpecInterfaceList();
                    list.Read(reader, model);
                    Require.Add(list);
                }
                else if (reader.Name == "remove")
                {
                    if (Remove == null)
                    {
                        Remove = new List <SpecInterfaceList> ();
                    }
                    var list = new SpecInterfaceList();
                    list.Read(reader, model);
                    Remove.Add(list);
                }
            }
        }
Ejemplo n.º 9
0
        public void Read(XmlReader reader, SpecRegistry model)
        {
            if (reader.NodeType != XmlNodeType.Element)
            {
                throw new XmlException();
            }
            var beginElement = reader.Name;

            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.EndElement && reader.Name == beginElement)
                {
                    break;
                }

                if (reader.NodeType == XmlNodeType.Text || reader.NodeType == XmlNodeType.Whitespace)
                {
                    Content += reader.Value;
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    if (reader.Name == "ptype")
                    {
                        Content += "#PTYPE#";
                        Type     = reader.ReadElement();
                    }
                    else if (reader.Name == "name")
                    {
                        Content += "#NAME#";
                        Name     = reader.ReadElement();
                    }
                }
            }
            for (int i = 0; i < Content.Length; i++)
            {
                if (Content[i] == '*')
                {
                    Pointers++;
                }
            }
        }
Ejemplo n.º 10
0
        public void Read(XmlReader reader, SpecRegistry model)
        {
            Requires = reader.GetAttribute("requires");
            Name     = reader.GetAttribute("name");
            Api      = reader.GetAttribute("api");
            Comment  = reader.GetAttribute("comment");

            //content = reader.ReadInnerXml ();

            // <type>typedef void (<apientry/> *<name>GLDEBUGPROC</name>)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);</type>

            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "type")
                {
                    break;
                }

                if (reader.NodeType == XmlNodeType.Text || reader.NodeType == XmlNodeType.Whitespace)
                {
                    Content += reader.Value;
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    if (reader.Name == "apientry")
                    {
                        Content += "#APIENTRY#";
                    }
                    else if (reader.Name == "name")
                    {
                        Content += "#NAME#";
                        Name     = reader.ReadElement();
                    }
                }
            }
        }
Ejemplo n.º 11
0
 public void Read(XmlReader reader, SpecRegistry model)
 {
     Type   = reader.GetAttribute("type");
     OpCode = (int)SpecUtil.Parse(reader.GetAttribute("opcode"));
 }