aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccessControlPolicy.cpp
diff options
context:
space:
mode:
authorDevtools Arcadia <arcadia-devtools@yandex-team.ru>2022-02-07 18:08:42 +0300
committerDevtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net>2022-02-07 18:08:42 +0300
commit1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch)
treee26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccessControlPolicy.cpp
downloadydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccessControlPolicy.cpp')
-rw-r--r--contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccessControlPolicy.cpp88
1 files changed, 88 insertions, 0 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccessControlPolicy.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccessControlPolicy.cpp
new file mode 100644
index 0000000000..78efb9809c
--- /dev/null
+++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccessControlPolicy.cpp
@@ -0,0 +1,88 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#include <aws/s3/model/AccessControlPolicy.h>
+#include <aws/core/utils/xml/XmlSerializer.h>
+#include <aws/core/utils/StringUtils.h>
+#include <aws/core/utils/memory/stl/AWSStringStream.h>
+
+#include <utility>
+
+using namespace Aws::Utils::Xml;
+using namespace Aws::Utils;
+
+namespace Aws
+{
+namespace S3
+{
+namespace Model
+{
+
+AccessControlPolicy::AccessControlPolicy() :
+ m_grantsHasBeenSet(false),
+ m_ownerHasBeenSet(false)
+{
+}
+
+AccessControlPolicy::AccessControlPolicy(const XmlNode& xmlNode) :
+ m_grantsHasBeenSet(false),
+ m_ownerHasBeenSet(false)
+{
+ *this = xmlNode;
+}
+
+AccessControlPolicy& AccessControlPolicy::operator =(const XmlNode& xmlNode)
+{
+ XmlNode resultNode = xmlNode;
+
+ if(!resultNode.IsNull())
+ {
+ XmlNode grantsNode = resultNode.FirstChild("AccessControlList");
+ if(!grantsNode.IsNull())
+ {
+ XmlNode grantsMember = grantsNode.FirstChild("Grant");
+ while(!grantsMember.IsNull())
+ {
+ m_grants.push_back(grantsMember);
+ grantsMember = grantsMember.NextNode("Grant");
+ }
+
+ m_grantsHasBeenSet = true;
+ }
+ XmlNode ownerNode = resultNode.FirstChild("Owner");
+ if(!ownerNode.IsNull())
+ {
+ m_owner = ownerNode;
+ m_ownerHasBeenSet = true;
+ }
+ }
+
+ return *this;
+}
+
+void AccessControlPolicy::AddToNode(XmlNode& parentNode) const
+{
+ Aws::StringStream ss;
+ if(m_grantsHasBeenSet)
+ {
+ XmlNode grantsParentNode = parentNode.CreateChildElement("AccessControlList");
+ for(const auto& item : m_grants)
+ {
+ XmlNode grantsNode = grantsParentNode.CreateChildElement("Grant");
+ item.AddToNode(grantsNode);
+ }
+ }
+
+ if(m_ownerHasBeenSet)
+ {
+ XmlNode ownerNode = parentNode.CreateChildElement("Owner");
+ m_owner.AddToNode(ownerNode);
+ }
+
+}
+
+} // namespace Model
+} // namespace S3
+} // namespace Aws