Beispiel #1
0
 protected ListContainsQuery(XmlNode node)
     : base(node)
 {
     this.contains = SearchMarshalling.ParseBool(Helpers.GetXmlAttribute(node, "contains"));
 }
Beispiel #2
0
        protected override void AddXmlAttributes(XmlDocument doc, XmlNode node)
        {
            base.AddXmlAttributes(doc, node);

            SearchMarshalling.AddAttribute(doc, node, "contains", contains);
        }
Beispiel #3
0
 public String GetXML()
 {
     return(SearchMarshalling.SearchToXML(this));
 }
Beispiel #4
0
        private static void SynchroniseSearches()
        {
            Dictionary <String, Search> localSearches = new Dictionary <String, Search>();

            foreach (IXenConnection connection in ConnectionsManager.XenConnectionsCopy)
            {
                connection.Cache.RegisterBatchCollectionChanged <Pool>(Pool_BatchCollectionChanged);

                foreach (Pool pool in connection.Cache.Pools)
                {
                    foreach (KeyValuePair <String, String> kvp in pool.gui_config)
                    {
                        if (!kvp.Key.StartsWith(SearchPrefix))
                        {
                            continue;
                        }

                        String uuid   = kvp.Key.Substring(SearchPrefix.Length);
                        Search search = SearchMarshalling.LoadSearch(kvp.Value);
                        if (search == null)
                        {
                            continue;
                        }

                        search.Connection = connection;

                        localSearches[uuid] = search;
                    }
                }
            }

            bool changed = false;

            lock (searches)
            {
                String[] uuids = new String[searches.Keys.Count];
                searches.Keys.CopyTo(uuids, 0);
                foreach (String uuid in uuids)
                {
                    if (searches[uuid].DefaultSearch)
                    {
                        continue;
                    }

                    if (localSearches.ContainsKey(uuid))
                    {
                        continue;
                    }

                    searches.Remove(uuid);
                    changed = true;
                }

                foreach (Search search in localSearches.Values)
                {
                    if (searches.ContainsKey(search.UUID))
                    {
                        if (searches[search.UUID].Equals(search))
                        {
                            continue;
                        }

                        // try and persist the number of items in a
                        // search, so they don't flick back to 0
                        search.items = searches[search.UUID].items;
                    }

                    searches[search.UUID] = search;
                    changed = true;
                }
            }

            if (changed)
            {
                OnSearchesChanged();
            }
        }
Beispiel #5
0
 public RecursivePropertyQuery(XmlNode node)
     : base(node)
 {
     subQuery = (QueryFilter)SearchMarshalling.FromXmlNode(node.FirstChild);
 }
Beispiel #6
0
 public ValuePropertyQuery(XmlNode node)
     : base(node)
 {
     this.query  = Helpers.GetXmlAttribute(node, "query");
     this.equals = SearchMarshalling.ParseBool(Helpers.GetXmlAttribute(node, "equals"));
 }
Beispiel #7
0
        protected override void AddXmlAttributes(XmlDocument doc, XmlNode node)
        {
            base.AddXmlAttributes(doc, node);

            SearchMarshalling.AddAttribute(doc, node, "query", query);
        }
Beispiel #8
0
 protected override void AddXmlAttributes(XmlDocument doc, XmlNode node)
 {
     SearchMarshalling.AddAttribute(doc, node, "property", property.ToString());
 }
Beispiel #9
0
 public NullQuery(XmlNode node)
     : base(node, false)
 {
     this.query = SearchMarshalling.ParseBool(Helpers.GetXmlAttribute(node, "query"));
 }
Beispiel #10
0
        protected override void AddXmlAttributes(XmlDocument doc, XmlNode node)
        {
            base.AddXmlAttributes(doc, node);

            SearchMarshalling.AddAttribute(doc, node, "address", address.ToString());
        }
Beispiel #11
0
 public ListEmptyQuery(XmlNode node)
     : base(node)
 {
     this.empty = SearchMarshalling.ParseBool(Helpers.GetXmlAttribute(node, "empty"));
 }
Beispiel #12
0
 public static void InitSearch()
 {
     defaultTreeSearch = SearchMarshalling.LoadSearch(Properties.Settings.Default.DefaultSearch);
 }
Beispiel #13
0
 public Sort(XmlNode node)
     : this(node.Attributes["column"].Value, SearchMarshalling.ParseBool(node.Attributes["ascending"].Value))
 {
 }