Exemple #1
0
/* -*- 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();
        }
Exemple #2
0
        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);
        }