1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/route53/model/ListResourceRecordSetsResult.h>
7 #include <aws/core/utils/xml/XmlSerializer.h>
8 #include <aws/core/AmazonWebServiceResult.h>
9 #include <aws/core/utils/StringUtils.h>
10 
11 #include <utility>
12 
13 using namespace Aws::Route53::Model;
14 using namespace Aws::Utils::Xml;
15 using namespace Aws::Utils;
16 using namespace Aws;
17 
ListResourceRecordSetsResult()18 ListResourceRecordSetsResult::ListResourceRecordSetsResult() :
19     m_isTruncated(false),
20     m_nextRecordType(RRType::NOT_SET)
21 {
22 }
23 
ListResourceRecordSetsResult(const Aws::AmazonWebServiceResult<XmlDocument> & result)24 ListResourceRecordSetsResult::ListResourceRecordSetsResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) :
25     m_isTruncated(false),
26     m_nextRecordType(RRType::NOT_SET)
27 {
28   *this = result;
29 }
30 
operator =(const Aws::AmazonWebServiceResult<XmlDocument> & result)31 ListResourceRecordSetsResult& ListResourceRecordSetsResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result)
32 {
33   const XmlDocument& xmlDocument = result.GetPayload();
34   XmlNode resultNode = xmlDocument.GetRootElement();
35 
36   if(!resultNode.IsNull())
37   {
38     XmlNode resourceRecordSetsNode = resultNode.FirstChild("ResourceRecordSets");
39     if(!resourceRecordSetsNode.IsNull())
40     {
41       XmlNode resourceRecordSetsMember = resourceRecordSetsNode.FirstChild("ResourceRecordSet");
42       while(!resourceRecordSetsMember.IsNull())
43       {
44         m_resourceRecordSets.push_back(resourceRecordSetsMember);
45         resourceRecordSetsMember = resourceRecordSetsMember.NextNode("ResourceRecordSet");
46       }
47 
48     }
49     XmlNode isTruncatedNode = resultNode.FirstChild("IsTruncated");
50     if(!isTruncatedNode.IsNull())
51     {
52       m_isTruncated = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isTruncatedNode.GetText()).c_str()).c_str());
53     }
54     XmlNode nextRecordNameNode = resultNode.FirstChild("NextRecordName");
55     if(!nextRecordNameNode.IsNull())
56     {
57       m_nextRecordName = Aws::Utils::Xml::DecodeEscapedXmlText(nextRecordNameNode.GetText());
58     }
59     XmlNode nextRecordTypeNode = resultNode.FirstChild("NextRecordType");
60     if(!nextRecordTypeNode.IsNull())
61     {
62       m_nextRecordType = RRTypeMapper::GetRRTypeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(nextRecordTypeNode.GetText()).c_str()).c_str());
63     }
64     XmlNode nextRecordIdentifierNode = resultNode.FirstChild("NextRecordIdentifier");
65     if(!nextRecordIdentifierNode.IsNull())
66     {
67       m_nextRecordIdentifier = Aws::Utils::Xml::DecodeEscapedXmlText(nextRecordIdentifierNode.GetText());
68     }
69     XmlNode maxItemsNode = resultNode.FirstChild("MaxItems");
70     if(!maxItemsNode.IsNull())
71     {
72       m_maxItems = Aws::Utils::Xml::DecodeEscapedXmlText(maxItemsNode.GetText());
73     }
74   }
75 
76   return *this;
77 }
78