[gxml] Return currect NodeType for TNode's



commit 7369d28498527f81764cf73a53b9105c61124c92
Author: Daniel Espinosa <esodan gmail com>
Date:   Thu Oct 27 16:22:56 2016 -0500

    Return currect NodeType for TNode's

 NEWS                             |    1 +
 gxml/GXmlNode.vala               |    2 +-
 gxml/NodeType.vala               |    2 +-
 gxml/TAttribute.vala             |    3 +++
 gxml/TCDATA.vala                 |    1 +
 gxml/TComment.vala               |    1 +
 gxml/TDocument.vala              |    1 +
 gxml/TElement.vala               |    3 +++
 gxml/TNode.vala                  |    3 ++-
 gxml/TProcessingInstruction.vala |    1 +
 gxml/TText.vala                  |    1 +
 11 files changed, 16 insertions(+), 3 deletions(-)
---
diff --git a/NEWS b/NEWS
index bc65068..dc6ccba 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,7 @@ Version 0.13.0
 * API change on DomImplementation.with_ids () for DocumentType to DomDocumentType
 * API change changed long/ulong to int
 * Added new DOM4 implementation called GOM
+* API change GXml.NodeType changed X_UNKNOWN to INVALID
 
 ===============
 Version 0.12.0
diff --git a/gxml/GXmlNode.vala b/gxml/GXmlNode.vala
index 07f7aeb..451d110 100644
--- a/gxml/GXmlNode.vala
+++ b/gxml/GXmlNode.vala
@@ -67,7 +67,7 @@ public abstract class GXml.GNode : Object,
   }
   public virtual GXml.NodeType type_node {
     get {
-      if (_node == null) return GXml.NodeType.X_UNKNOWN;
+      if (_node == null) return GXml.NodeType.INVALID;
       return (GXml.NodeType) _node->type;
     }
   }
diff --git a/gxml/NodeType.vala b/gxml/NodeType.vala
index d99e6d5..45d432b 100644
--- a/gxml/NodeType.vala
+++ b/gxml/NodeType.vala
@@ -33,7 +33,7 @@ public enum GXml.NodeType { // TODO: Rename to DomNodeType
        /* NOTE: bug in vala?  if I don't have == 0, I fail when creating
           this class because I can't set default values for NodeType properties
           GLib-GObject-CRITICAL **: g_param_spec_enum: assertion `g_enum_get_value (enum_class, 
default_value) != NULL' failed */
-       X_UNKNOWN = 0,
+       INVALID = 0,
        ELEMENT = 1,
        ATTRIBUTE,
        TEXT,
diff --git a/gxml/TAttribute.vala b/gxml/TAttribute.vala
index e86d651..cdc846b 100644
--- a/gxml/TAttribute.vala
+++ b/gxml/TAttribute.vala
@@ -27,6 +27,9 @@ using Gee;
 public class GXml.TAttribute : GXml.TNode, GXml.Attribute
 {
   protected Gee.ArrayList<GXml.Node> _namespaces;
+  construct {
+    _node_type = GXml.NodeType.ATTRIBUTE;
+  }
   public TAttribute (GXml.Document d, string name, string value)
     requires (d is TDocument)
   {
diff --git a/gxml/TCDATA.vala b/gxml/TCDATA.vala
index 33b230e..6030000 100644
--- a/gxml/TCDATA.vala
+++ b/gxml/TCDATA.vala
@@ -29,6 +29,7 @@ public class GXml.TCDATA : GXml.TNode, GXml.CDATA
   private string _str = null;
   construct {
     _name = "#cdata";
+    _node_type = GXml.NodeType.CDATA_SECTION;
   }
   public TCDATA (GXml.Document d, string text)
     requires (d is GXml.TDocument)
diff --git a/gxml/TComment.vala b/gxml/TComment.vala
index 451cf32..d9080c4 100644
--- a/gxml/TComment.vala
+++ b/gxml/TComment.vala
@@ -29,6 +29,7 @@ public class GXml.TComment : GXml.TNode, GXml.Comment
   private string _str = "";
   construct {
     _name = "#comment";
+    _node_type = GXml.NodeType.COMMENT;
   }
   public TComment (GXml.Document doc, string text)
     requires (doc is GXml.TDocument)
diff --git a/gxml/TDocument.vala b/gxml/TDocument.vala
index f950f71..72fe49b 100644
--- a/gxml/TDocument.vala
+++ b/gxml/TDocument.vala
@@ -36,6 +36,7 @@ public class GXml.TDocument : GXml.TNode, GXml.Document
 
   construct {
     _name = "#document";
+    _node_type = GXml.NodeType.DOCUMENT;
   }
 
   public TDocument () {}
diff --git a/gxml/TElement.vala b/gxml/TElement.vala
index a63db21..2d15244 100644
--- a/gxml/TElement.vala
+++ b/gxml/TElement.vala
@@ -30,6 +30,9 @@ public class GXml.TElement : GXml.TNode, GXml.Element
   protected TNode.TChildrenList _children;
   protected Gee.ArrayList<GXml.Node> _namespaces;
   private string _content = null;
+  construct {
+    _node_type = GXml.NodeType.ELEMENT;
+  }
   public TElement (GXml.Document d, string name)
     requires (d is TDocument)
   {
diff --git a/gxml/TNode.vala b/gxml/TNode.vala
index 65e8133..ecfba7b 100644
--- a/gxml/TNode.vala
+++ b/gxml/TNode.vala
@@ -30,6 +30,7 @@ public abstract class GXml.TNode : Object, GXml.Node
   protected string _value = null;
   protected GXml.Document _doc;
   protected GXml.Node _parent;
+  protected GXml.NodeType _node_type = GXml.NodeType.INVALID;
   internal Xml.TextWriter *tw;
 
        construct { Init.init (); }
@@ -57,7 +58,7 @@ public abstract class GXml.TNode : Object, GXml.Node
   public virtual GXml.Document document { get { return _doc; } }
   public virtual string name { owned get { return _name.dup (); } }
   public virtual Gee.List<GXml.Namespace> namespaces { owned get { return new Gee.ArrayList<GXml.Node> (); } 
}
-  public virtual GXml.NodeType type_node { get { return GXml.NodeType.DOCUMENT; } }
+  public virtual GXml.NodeType type_node { get { return _node_type; } }
   public virtual string value { owned get { return _value.dup (); } set  { _value = value; } }
   public virtual GXml.Node parent {
     owned get {
diff --git a/gxml/TProcessingInstruction.vala b/gxml/TProcessingInstruction.vala
index ef40c1d..912a8f3 100644
--- a/gxml/TProcessingInstruction.vala
+++ b/gxml/TProcessingInstruction.vala
@@ -30,6 +30,7 @@ public class GXml.TProcessingInstruction : GXml.TNode, GXml.ProcessingInstructio
   private string _data = "";
   construct {
     _name = "#processinginstruction";
+    _node_type = GXml.NodeType.PROCESSING_INSTRUCTION;
   }
   public TProcessingInstruction (GXml.Document doc, string target, string data)
     requires (doc is GXml.TDocument)
diff --git a/gxml/TText.vala b/gxml/TText.vala
index 1cb6c24..7f5a9e3 100644
--- a/gxml/TText.vala
+++ b/gxml/TText.vala
@@ -29,6 +29,7 @@ public class GXml.TText : GXml.TNode, GXml.Text
   private string _str = null;
   construct {
     _name = "#text";
+    _node_type = GXml.NodeType.TEXT;
   }
   public TText (GXml.Document d, string text)
     requires (d is GXml.TDocument)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]