private anmar.SharpWebMail.ServerSelector ParseConfigServers(System.Xml.XmlNodeList list)
        {
            anmar.SharpWebMail.ServerSelector selector = new anmar.SharpWebMail.ServerSelector();
            foreach (System.Xml.XmlNode item in list)
            {
                if (item.NodeType.Equals(System.Xml.XmlNodeType.Element) && (item.LocalName.Equals("server") || item.LocalName.Equals("add")))
                {
                    System.Xml.XmlElement element = (System.Xml.XmlElement)item;
                    if (element.HasAttribute("key") && element.HasAttribute("value"))                       // Old format
                    {
                        selector.Add(element.GetAttribute("key"), element.GetAttribute("value"));
                    }
                    else if (element.HasAttribute("protocol") && element.HasAttribute("host") && element.HasAttribute("port"))                         // New format
                    {
                        anmar.SharpWebMail.EmailServerInfo server = new anmar.SharpWebMail.EmailServerInfo(element.GetAttribute("protocol"), element.GetAttribute("host"), element.GetAttribute("port"));
                        if (element.HasAttribute("regexp"))
                        {
                            server.SetCondition(element.GetAttribute("regexp"));
                        }
                        if (element.HasAttribute("name"))
                        {
                            server.Name = element.GetAttribute("name");
                        }

                        if (server.IsValid())
                        {
                            selector.Add(server);
                        }
                    }
                }
            }
            return(selector);
        }
Example #2
0
        public void Add(System.Object key, System.Object value)
        {
            if (key == null || value == null)
            {
                throw new System.ArgumentNullException();
            }

            anmar.SharpWebMail.EmailServerInfo server = anmar.SharpWebMail.EmailServerInfo.Parse(value.ToString());
            if (server != null)
            {
                server.SetCondition(key.ToString());
                if (server.IsValid())
                {
                    this._servers.Add(server);
                }
            }
        }
        private ServerSelector ParseConfigServers(XmlNodeList list )
        {
            ServerSelector selector = new ServerSelector();
            foreach (XmlNode item in list ) {
                if ( item.NodeType.Equals(XmlNodeType.Element) && (item.LocalName.Equals("server") || item.LocalName.Equals("add")) ) {
                    XmlElement element = (XmlElement)item;
                    if ( element.HasAttribute("key") && element.HasAttribute("value") ) // Old format
                        selector.Add(element.GetAttribute("key"), element.GetAttribute("value"));
                    else if ( element.HasAttribute("protocol") && element.HasAttribute("host") && element.HasAttribute("port") ) { // New format
                        anmar.SharpWebMail.EmailServerInfo server = new anmar.SharpWebMail.EmailServerInfo(element.GetAttribute("protocol"), element.GetAttribute("host"), element.GetAttribute("port"));
                        if ( element.HasAttribute("regexp") )
                            server.SetCondition (element.GetAttribute("regexp"));
                        if ( element.HasAttribute("name") )
                            server.Name = element.GetAttribute("name");

                        if ( server.IsValid() )
                            selector.Add(server);
                    }
                }
            }
            return selector;
        }