/// <summary>
 /// Sets the specified site information.
 /// </summary>
 /// <param name="name">The name.</param>
 /// <param name="site">The site.</param>
 public void Set(string name, CdnFinderSite site)
 {
     // Clear the resources list.
     this.listViewResources.Items.Clear();
     if (null == site)
     {
         this.pictureBox.Image = Resources.GlobeError_48;
         this.labelTitle.Text = "Site not found";
         this.textBoxSite.Clear();
         this.textBoxUrl.Clear();
         this.textBoxAssetCdn.Clear();
         this.textBoxBaseCdn.Clear();
     }
     else if (site.Success)
     {
         this.pictureBox.Image = Resources.GlobeSuccess_48;
         this.labelTitle.Text = name;
         this.textBoxSite.Text = name;
         this.textBoxUrl.Text = site.Site;
         this.textBoxAssetCdn.Text = site.AssetCdn;
         this.textBoxBaseCdn.Text = site.BaseCdn;
         foreach (CdnFinderResource resource in site.Resources)
         {
             ListViewItem item = new ListViewItem(new string[] {
                     resource.Hostname,
                     resource.Count.ToString(),
                     resource.Size.ToString(),
                     resource.Cdn,
                     resource.IsBase ? "Yes" : "No"
                 });
             item.ImageIndex = 0;
             this.listViewResources.Items.Add(item);
         }
     }
     else
     {
         this.pictureBox.Image = Resources.GlobeWarning_48;
         this.labelTitle.Text = "No site information";
         this.textBoxSite.Clear();
         this.textBoxUrl.Clear();
         this.textBoxAssetCdn.Clear();
         this.textBoxBaseCdn.Clear();
     }
 }
        // Public methods.
        public static CdnFinderSite Parse(XElement element)
        {
            // Create a new site object.
            CdnFinderSite site = new CdnFinderSite(element.Element("domain").Value);

            XElement status = element.Element("status");
            if ((null != status) && (status.Value.ToLower().Equals("failure")))
            {
                // Set success to false.
                site.Success = false;
            }
            else
            {
                // Set success to true.
                site.Success = true;
                // Parse the properties.
                site.AssetCdn = element.Element("assetcdn").Value;
                site.BaseCdn = element.Element("basecdn").Value;
                // Parse the site resources.
                foreach (XElement child in element.Elements("resource"))
                {
                    site.resources.Add(CdnFinderResource.Parse(child));
                }
            }
            // Return the site object.
            return site;
        }