Exemple #1
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);
        }
Exemple #2
0
        private static void FromXml(System.Xml.XmlTextReader reader, PackageMatchDelegate callback)
        {
            reader.MoveToContent();

            while (reader.Read())
            {
                if (reader.NodeType == System.Xml.XmlNodeType.Element && reader.LocalName == "match")
                {
                    PackageMatch match = ParseMatch(reader);

                    if (!callback(match))
                    {
                        break;
                    }
                }
            }

            reader.Close();
        }
Exemple #3
0
 public bool ForeachMatchCb (PackageMatch match) {
     this.list.Add (match);
     return true;
 }
Exemple #4
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;
    }
Exemple #5
0
 public bool ForeachLock (PackageMatch match)
 {
     match.ToXml (this.writer);
     return true;
 }
Exemple #6
0
 public bool ForeachMatchCb(PackageMatch match)
 {
     this.list.Add(match);
     return(true);
 }
Exemple #7
0
 public bool ForeachLock(PackageMatch match)
 {
     match.ToXml(this.writer);
     return(true);
 }