/// <summary> /// Reads response elements from XML. /// </summary> /// <param name="reader">The reader.</param> internal override void ReadElementsFromXml(EwsServiceXmlReader reader) { this.ClientExtensions.Clear(); base.ReadElementsFromXml(reader); reader.ReadStartElement(XmlNamespace.Messages, XmlElementNames.ClientExtensions); if (!reader.IsEmptyElement) { // Because we don't have an element for count of returned object, // we have to test the element to determine if it is StartElement of return object or EndElement reader.Read(); while (reader.IsStartElement(XmlNamespace.Types, XmlElementNames.ClientExtension)) { ClientExtension clientExtension = new ClientExtension(); clientExtension.LoadFromXml(reader, XmlNamespace.Types, XmlElementNames.ClientExtension); this.ClientExtensions.Add(clientExtension); reader.EnsureCurrentNodeIsEndElement(XmlNamespace.Types, XmlElementNames.ClientExtension); reader.Read(); } reader.EnsureCurrentNodeIsEndElement(XmlNamespace.Messages, XmlElementNames.ClientExtensions); } reader.Read(); if (reader.IsStartElement(XmlNamespace.Messages, XmlElementNames.ClientExtensionRawMasterTableXml)) { this.rawMasterTableXml = reader.ReadElementValue(); } }
/// <summary> /// Initializes a new instance of the <see cref="SetClientExtensionAction"/> class. /// </summary> /// <param name="setClientExtensionActionId">Set action such as install, uninstall and configure</param> /// <param name="extensionId">ExtensionId, required by configure and uninstall actions</param> /// <param name="clientExtension">Extension data object, e.g. required by configure action</param> public SetClientExtensionAction( SetClientExtensionActionId setClientExtensionActionId, string extensionId, ClientExtension clientExtension) : base() { this.Namespace = XmlNamespace.Types; this.setClientExtensionActionId = setClientExtensionActionId; this.extensionId = extensionId; this.clientExtension = clientExtension; }