/* -*- Mode: csharp; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */ //namespace { public void ToXml(System.Xml.XmlTextWriter writer) { writer.WriteStartElement("match"); if (this.ChannelId != null) { writer.WriteElementString("channel", this.ChannelId); } if (this.Dep != null) { this.Dep.ToXml(writer); } if (this.Glob != null) { writer.WriteElementString("glob", this.Glob); } bool gteq; PackageImportance imp = this.GetImportance(out gteq); if (imp != PackageImportance.Invalid) { writer.WriteStartElement("importance"); writer.WriteAttributeString("gteq", gteq ? "1" : "0"); writer.WriteString(Global.ImportanceToString(imp)); writer.WriteEndElement(); } writer.WriteEndElement(); }
private static PackageMatch ParseMatch(System.Xml.XmlTextReader reader) { // Make sure we're in right position reader.ReadStartElement("match"); PackageMatch match = new PackageMatch(); if (reader.LocalName == "channel") { match.ChannelId = reader.ReadElementString(); } if (reader.LocalName == "dep") { PackageDep dep = new PackageDep(reader); match.Dep = dep; //dep.Unref (); // Move reader to start of next element while (reader.Read()) { if (reader.NodeType == System.Xml.XmlNodeType.Element) { break; } } } if (reader.LocalName == "glob") { match.Glob = reader.ReadElementString(); } if (reader.LocalName == "importance") { int gteq = 0; string gteq_str = reader["gteq"]; if (gteq_str != null) { gteq = System.Xml.XmlConvert.ToInt32(gteq_str); } PackageImportance imp = RC.Global.PackageImportanceFromString(reader.ReadElementString()); match.SetImportance(imp, Convert.ToBoolean(gteq)); } return(match); }