ListObjectVersionsResult.cpp 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. /**
  2. * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
  3. * SPDX-License-Identifier: Apache-2.0.
  4. */
  5. #include <aws/s3/model/ListObjectVersionsResult.h>
  6. #include <aws/core/utils/xml/XmlSerializer.h>
  7. #include <aws/core/AmazonWebServiceResult.h>
  8. #include <aws/core/utils/StringUtils.h>
  9. #include <utility>
  10. using namespace Aws::S3::Model;
  11. using namespace Aws::Utils::Xml;
  12. using namespace Aws::Utils;
  13. using namespace Aws;
  14. ListObjectVersionsResult::ListObjectVersionsResult() :
  15. m_isTruncated(false),
  16. m_maxKeys(0),
  17. m_encodingType(EncodingType::NOT_SET)
  18. {
  19. }
  20. ListObjectVersionsResult::ListObjectVersionsResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) :
  21. m_isTruncated(false),
  22. m_maxKeys(0),
  23. m_encodingType(EncodingType::NOT_SET)
  24. {
  25. *this = result;
  26. }
  27. ListObjectVersionsResult& ListObjectVersionsResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result)
  28. {
  29. const XmlDocument& xmlDocument = result.GetPayload();
  30. XmlNode resultNode = xmlDocument.GetRootElement();
  31. if(!resultNode.IsNull())
  32. {
  33. XmlNode isTruncatedNode = resultNode.FirstChild("IsTruncated");
  34. if(!isTruncatedNode.IsNull())
  35. {
  36. m_isTruncated = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isTruncatedNode.GetText()).c_str()).c_str());
  37. }
  38. XmlNode keyMarkerNode = resultNode.FirstChild("KeyMarker");
  39. if(!keyMarkerNode.IsNull())
  40. {
  41. m_keyMarker = Aws::Utils::Xml::DecodeEscapedXmlText(keyMarkerNode.GetText());
  42. }
  43. XmlNode versionIdMarkerNode = resultNode.FirstChild("VersionIdMarker");
  44. if(!versionIdMarkerNode.IsNull())
  45. {
  46. m_versionIdMarker = Aws::Utils::Xml::DecodeEscapedXmlText(versionIdMarkerNode.GetText());
  47. }
  48. XmlNode nextKeyMarkerNode = resultNode.FirstChild("NextKeyMarker");
  49. if(!nextKeyMarkerNode.IsNull())
  50. {
  51. m_nextKeyMarker = Aws::Utils::Xml::DecodeEscapedXmlText(nextKeyMarkerNode.GetText());
  52. }
  53. XmlNode nextVersionIdMarkerNode = resultNode.FirstChild("NextVersionIdMarker");
  54. if(!nextVersionIdMarkerNode.IsNull())
  55. {
  56. m_nextVersionIdMarker = Aws::Utils::Xml::DecodeEscapedXmlText(nextVersionIdMarkerNode.GetText());
  57. }
  58. XmlNode versionsNode = resultNode.FirstChild("Version");
  59. if(!versionsNode.IsNull())
  60. {
  61. XmlNode versionMember = versionsNode;
  62. while(!versionMember.IsNull())
  63. {
  64. m_versions.push_back(versionMember);
  65. versionMember = versionMember.NextNode("Version");
  66. }
  67. }
  68. XmlNode deleteMarkersNode = resultNode.FirstChild("DeleteMarker");
  69. if(!deleteMarkersNode.IsNull())
  70. {
  71. XmlNode deleteMarkerMember = deleteMarkersNode;
  72. while(!deleteMarkerMember.IsNull())
  73. {
  74. m_deleteMarkers.push_back(deleteMarkerMember);
  75. deleteMarkerMember = deleteMarkerMember.NextNode("DeleteMarker");
  76. }
  77. }
  78. XmlNode nameNode = resultNode.FirstChild("Name");
  79. if(!nameNode.IsNull())
  80. {
  81. m_name = Aws::Utils::Xml::DecodeEscapedXmlText(nameNode.GetText());
  82. }
  83. XmlNode prefixNode = resultNode.FirstChild("Prefix");
  84. if(!prefixNode.IsNull())
  85. {
  86. m_prefix = Aws::Utils::Xml::DecodeEscapedXmlText(prefixNode.GetText());
  87. }
  88. XmlNode delimiterNode = resultNode.FirstChild("Delimiter");
  89. if(!delimiterNode.IsNull())
  90. {
  91. m_delimiter = Aws::Utils::Xml::DecodeEscapedXmlText(delimiterNode.GetText());
  92. }
  93. XmlNode maxKeysNode = resultNode.FirstChild("MaxKeys");
  94. if(!maxKeysNode.IsNull())
  95. {
  96. m_maxKeys = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(maxKeysNode.GetText()).c_str()).c_str());
  97. }
  98. XmlNode commonPrefixesNode = resultNode.FirstChild("CommonPrefixes");
  99. if(!commonPrefixesNode.IsNull())
  100. {
  101. XmlNode commonPrefixesMember = commonPrefixesNode;
  102. while(!commonPrefixesMember.IsNull())
  103. {
  104. m_commonPrefixes.push_back(commonPrefixesMember);
  105. commonPrefixesMember = commonPrefixesMember.NextNode("CommonPrefixes");
  106. }
  107. }
  108. XmlNode encodingTypeNode = resultNode.FirstChild("EncodingType");
  109. if(!encodingTypeNode.IsNull())
  110. {
  111. m_encodingType = EncodingTypeMapper::GetEncodingTypeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(encodingTypeNode.GetText()).c_str()).c_str());
  112. }
  113. }
  114. return *this;
  115. }