/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #include #include #include #include #include using namespace Aws::Utils::Xml; using namespace Aws::Utils; namespace Aws { namespace CloudFront { namespace Model { ActiveTrustedSigners::ActiveTrustedSigners() : m_enabled(false), m_enabledHasBeenSet(false), m_quantity(0), m_quantityHasBeenSet(false), m_itemsHasBeenSet(false) { } ActiveTrustedSigners::ActiveTrustedSigners(const XmlNode& xmlNode) : m_enabled(false), m_enabledHasBeenSet(false), m_quantity(0), m_quantityHasBeenSet(false), m_itemsHasBeenSet(false) { *this = xmlNode; } ActiveTrustedSigners& ActiveTrustedSigners::operator =(const XmlNode& xmlNode) { XmlNode resultNode = xmlNode; if(!resultNode.IsNull()) { XmlNode enabledNode = resultNode.FirstChild("Enabled"); if(!enabledNode.IsNull()) { m_enabled = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(enabledNode.GetText()).c_str()).c_str()); m_enabledHasBeenSet = true; } XmlNode quantityNode = resultNode.FirstChild("Quantity"); if(!quantityNode.IsNull()) { m_quantity = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(quantityNode.GetText()).c_str()).c_str()); m_quantityHasBeenSet = true; } XmlNode itemsNode = resultNode.FirstChild("Items"); if(!itemsNode.IsNull()) { XmlNode itemsMember = itemsNode.FirstChild("Signer"); while(!itemsMember.IsNull()) { m_items.push_back(itemsMember); itemsMember = itemsMember.NextNode("Signer"); } m_itemsHasBeenSet = true; } } return *this; } void ActiveTrustedSigners::AddToNode(XmlNode& parentNode) const { Aws::StringStream ss; if(m_enabledHasBeenSet) { XmlNode enabledNode = parentNode.CreateChildElement("Enabled"); ss << std::boolalpha << m_enabled; enabledNode.SetText(ss.str()); ss.str(""); } if(m_quantityHasBeenSet) { XmlNode quantityNode = parentNode.CreateChildElement("Quantity"); ss << m_quantity; quantityNode.SetText(ss.str()); ss.str(""); } if(m_itemsHasBeenSet) { XmlNode itemsParentNode = parentNode.CreateChildElement("Items"); for(const auto& item : m_items) { XmlNode itemsNode = itemsParentNode.CreateChildElement("Signer"); item.AddToNode(itemsNode); } } } } // namespace Model } // namespace CloudFront } // namespace Aws