1/*
2* Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3*
4* Licensed under the Apache License, Version 2.0 (the "License").
5* You may not use this file except in compliance with the License.
6* A copy of the License is located at
7*
8* http://aws.amazon.com/apache2.0
9*
10* or in the "license" file accompanying this file. This file is distributed
11* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12* express or implied. See the License for the specific language governing
13* permissions and limitations under the License.
14*/
15
16#include <aws/s3/model/ListBucketMetricsConfigurationsResult.h>
17#include <aws/core/utils/xml/XmlSerializer.h>
18#include <aws/core/AmazonWebServiceResult.h>
19#include <aws/core/utils/StringUtils.h>
20
21#include <utility>
22
23using namespace Aws::S3::Model;
24using namespace Aws::Utils::Xml;
25using namespace Aws::Utils;
26using namespace Aws;
27
28ListBucketMetricsConfigurationsResult::ListBucketMetricsConfigurationsResult() :
29 m_isTruncated(false)
30{
31}
32
33ListBucketMetricsConfigurationsResult::ListBucketMetricsConfigurationsResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) :
34 m_isTruncated(false)
35{
36 *this = result;
37}
38
39ListBucketMetricsConfigurationsResult& ListBucketMetricsConfigurationsResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result)
40{
41 const XmlDocument& xmlDocument = result.GetPayload();
42 XmlNode resultNode = xmlDocument.GetRootElement();
43
44 if(!resultNode.IsNull())
45 {
46 XmlNode isTruncatedNode = resultNode.FirstChild("IsTruncated");
47 if(!isTruncatedNode.IsNull())
48 {
49 m_isTruncated = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isTruncatedNode.GetText()).c_str()).c_str());
50 }
51 XmlNode continuationTokenNode = resultNode.FirstChild("ContinuationToken");
52 if(!continuationTokenNode.IsNull())
53 {
54 m_continuationToken = Aws::Utils::Xml::DecodeEscapedXmlText(continuationTokenNode.GetText());
55 }
56 XmlNode nextContinuationTokenNode = resultNode.FirstChild("NextContinuationToken");
57 if(!nextContinuationTokenNode.IsNull())
58 {
59 m_nextContinuationToken = Aws::Utils::Xml::DecodeEscapedXmlText(nextContinuationTokenNode.GetText());
60 }
61 XmlNode metricsConfigurationListNode = resultNode.FirstChild("MetricsConfiguration");
62 if(!metricsConfigurationListNode.IsNull())
63 {
64 XmlNode metricsConfigurationMember = metricsConfigurationListNode;
65 while(!metricsConfigurationMember.IsNull())
66 {
67 m_metricsConfigurationList.push_back(metricsConfigurationMember);
68 metricsConfigurationMember = metricsConfigurationMember.NextNode("MetricsConfiguration");
69 }
70
71 }
72 }
73
74 return *this;
75}
76