private void ProduceXmlForHost(XenAPI.Host host, LicenseDataStruct previousLicenseData, XmlWriter writer) { // wait for host to be updated for (int i = 0; i < 100 && Helper.AreEqual2(host.license_params["expiry"], previousLicenseData.ExpiryDate) && Helper.AreEqual2(host.edition, previousLicenseData.Edition); i++) { Thread.Sleep(100); } writer.WriteStartElement("host"); writer.WriteAttributeString("uuid", host.uuid); foreach (KeyValuePair <String, String> kvp in host.software_version) { writer.WriteStartElement("software_version_element"); writer.WriteAttributeString("key", kvp.Key); writer.WriteAttributeString("value", kvp.Value); writer.WriteEndElement(); } // edition information if (IncludeSKU) { string newEdition; if (String.IsNullOrEmpty(CurrentEdition)) { if (Helpers.MidnightRideOrGreater(host)) { newEdition = host.edition; } else { newEdition = host.license_params.ContainsKey("sku_type") ? host.license_params["sku_type"] : ""; } } else { newEdition = CurrentEdition; } writer.WriteStartElement("SKU"); writer.WriteAttributeString("from", previousLicenseData.Edition); writer.WriteAttributeString("to", newEdition); writer.WriteEndElement(); } // license expiry information writer.WriteStartElement("license_expiry_date"); writer.WriteAttributeString("from", previousLicenseData.ExpiryDate); writer.WriteAttributeString("to", host.license_params["expiry"]); writer.WriteEndElement(); writer.WriteEndElement(); }
private void ProduceXmlForHost(XenAPI.Host host, LicenseDataStruct previousLicenseData, XmlWriter writer) { // wait for host to be updated for (int i = 0; i < 100 && Helper.AreEqual2(host.license_params["expiry"], previousLicenseData.ExpiryDate) && Helper.AreEqual2(host.edition, previousLicenseData.Edition); i++) { Thread.Sleep(100); } writer.WriteStartElement("host"); writer.WriteAttributeString("uuid", host.uuid); foreach (KeyValuePair<String, String> kvp in host.software_version) { writer.WriteStartElement("software_version_element"); writer.WriteAttributeString("key", kvp.Key); writer.WriteAttributeString("value", kvp.Value); writer.WriteEndElement(); } // edition information if (IncludeSKU) { string newEdition; if (String.IsNullOrEmpty(CurrentEdition)) { if (Helpers.MidnightRideOrGreater(host)) { newEdition = host.edition; } else { newEdition = host.license_params.ContainsKey("sku_type") ? host.license_params["sku_type"] : ""; } } else { newEdition = CurrentEdition; } writer.WriteStartElement("SKU"); writer.WriteAttributeString("from", previousLicenseData.Edition); writer.WriteAttributeString("to", newEdition); writer.WriteEndElement(); } // license expiry information writer.WriteStartElement("license_expiry_date"); writer.WriteAttributeString("from", previousLicenseData.ExpiryDate); writer.WriteAttributeString("to", host.license_params["expiry"]); writer.WriteEndElement(); writer.WriteEndElement(); }