Optimize gst-gapi-cleanup a bit
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Sat, 4 Apr 2009 11:37:12 +0000 (13:37 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Sat, 4 Apr 2009 11:37:12 +0000 (13:37 +0200)
fixup/gst-gapi-fixup.cs
gtk-sharp-gapi-fixup.diff [deleted file]

index 87e017f..d8810c8 100644 (file)
@@ -167,11 +167,8 @@ namespace GtkSharp.Parsing {
                                bool matched = false;\r
                                while (api_iter.MoveNext ()) {\r
                                        XmlElement node = ((IHasXmlNode)api_iter.Current).GetNode () as XmlElement;\r
-                                       XmlAttribute attr = node.Attributes[name];\r
 \r
-                                       Console.WriteLine (attr);\r
-                                       if (attr != null)\r
-                                               node.Attributes.Remove (attr);\r
+                                       node.RemoveAttribute (name);\r
                                        matched = true;\r
                                }\r
                                if (!matched)\r
diff --git a/gtk-sharp-gapi-fixup.diff b/gtk-sharp-gapi-fixup.diff
deleted file mode 100644 (file)
index 513c945..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-Index: parser/gapi-fixup.cs
-===================================================================
---- parser/gapi-fixup.cs       (revision 60863)
-+++ parser/gapi-fixup.cs       (working copy)
-@@ -136,6 +136,21 @@
-                                       Console.WriteLine ("Warning: <attr path=\"{0}\"/> matched no nodes", path);\r
-                       }\r
\r
-+                      XPathNodeIterator remove_attr_iter = meta_nav.Select ("/metadata/remove-attr");\r
-+                      while (remove_attr_iter.MoveNext ()) {\r
-+                              string path = remove_attr_iter.Current.GetAttribute ("path", "");\r
-+                              string attr_name = remove_attr_iter.Current.GetAttribute ("name", "");\r
-+                              XPathNodeIterator api_iter = api_nav.Select (path);\r
-+                              bool matched = false;\r
-+                              while (api_iter.MoveNext ()) {\r
-+                                      XmlElement node = ((IHasXmlNode)api_iter.Current).GetNode () as XmlElement;\r
-+                                      node.RemoveAttribute (attr_name);\r
-+                                      matched = true;\r
-+                              }\r
-+                              if (!matched)\r
-+                                      Console.WriteLine ("Warning: <attr path=\"{0}\"/> matched no nodes", path);\r
-+                      }\r
-+\r
-                       XPathNodeIterator move_iter = meta_nav.Select ("/metadata/move-node");\r
-                       while (move_iter.MoveNext ()) {\r
-                               string path = move_iter.Current.GetAttribute ("path", "");\r
-@@ -157,6 +172,32 @@
-                                       Console.WriteLine ("Warning: <move-node path=\"{0}\"/> matched no nodes", path);\r
-                       }\r
\r
-+                      XPathNodeIterator change_iter = meta_nav.Select ("/metadata/change-node-type");\r
-+                      while (change_iter.MoveNext ()) {\r
-+                              string path = change_iter.Current.GetAttribute ("path", "");\r
-+                              XPathNodeIterator api_iter = api_nav.Select (path);\r
-+                              bool matched = false;\r
-+                              while (api_iter.MoveNext ()) {\r
-+                                      XmlElement node = ((IHasXmlNode)api_iter.Current).GetNode () as XmlElement;\r
-+                                      XmlElement new_node = api_doc.CreateElement (change_iter.Current.Value);\r
-+                                      foreach (XmlNode child in node.ChildNodes)\r
-+                                      {\r
-+                                              XmlNode new_child = child.CloneNode (true);\r
-+                                              new_node.AppendChild (new_child);\r
-+                                      }\r
-+                      \r
-+                                      foreach (XmlAttribute attr in node.Attributes)\r
-+                                      {\r
-+                                              new_node.SetAttribute (attr.Name, attr.Value);\r
-+                                      }\r
-+                      \r
-+                                      node.ParentNode.ReplaceChild (new_node, node);\r
-+                                      matched = true;\r
-+                              }\r
-+                              if (!matched)\r
-+                                      Console.WriteLine ("Warning: <change-node-type path=\"{0}\"/> matched no nodes", path);\r
-+                      }\r
-+\r
-                       if (symbol_doc != null) {\r
-                               XPathNavigator symbol_nav = symbol_doc.CreateNavigator ();\r
-                               XPathNodeIterator iter = symbol_nav.Select ("/api/*");\r