diff options
author | Devtools Arcadia <arcadia-devtools@yandex-team.ru> | 2022-02-07 18:08:42 +0300 |
---|---|---|
committer | Devtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net> | 2022-02-07 18:08:42 +0300 |
commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfiguration.cpp | |
download | ydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfiguration.cpp')
-rw-r--r-- | contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfiguration.cpp | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfiguration.cpp new file mode 100644 index 0000000000..bb62ecb84d --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfiguration.cpp @@ -0,0 +1,119 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/NotificationConfiguration.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 +{ + +NotificationConfiguration::NotificationConfiguration() : + m_topicConfigurationsHasBeenSet(false), + m_queueConfigurationsHasBeenSet(false), + m_lambdaFunctionConfigurationsHasBeenSet(false) +{ +} + +NotificationConfiguration::NotificationConfiguration(const XmlNode& xmlNode) : + m_topicConfigurationsHasBeenSet(false), + m_queueConfigurationsHasBeenSet(false), + m_lambdaFunctionConfigurationsHasBeenSet(false) +{ + *this = xmlNode; +} + +NotificationConfiguration& NotificationConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode topicConfigurationsNode = resultNode.FirstChild("TopicConfiguration"); + if(!topicConfigurationsNode.IsNull()) + { + XmlNode topicConfigurationMember = topicConfigurationsNode; + while(!topicConfigurationMember.IsNull()) + { + m_topicConfigurations.push_back(topicConfigurationMember); + topicConfigurationMember = topicConfigurationMember.NextNode("TopicConfiguration"); + } + + m_topicConfigurationsHasBeenSet = true; + } + XmlNode queueConfigurationsNode = resultNode.FirstChild("QueueConfiguration"); + if(!queueConfigurationsNode.IsNull()) + { + XmlNode queueConfigurationMember = queueConfigurationsNode; + while(!queueConfigurationMember.IsNull()) + { + m_queueConfigurations.push_back(queueConfigurationMember); + queueConfigurationMember = queueConfigurationMember.NextNode("QueueConfiguration"); + } + + m_queueConfigurationsHasBeenSet = true; + } + XmlNode lambdaFunctionConfigurationsNode = resultNode.FirstChild("CloudFunctionConfiguration"); + if(!lambdaFunctionConfigurationsNode.IsNull()) + { + XmlNode cloudFunctionConfigurationMember = lambdaFunctionConfigurationsNode; + while(!cloudFunctionConfigurationMember.IsNull()) + { + m_lambdaFunctionConfigurations.push_back(cloudFunctionConfigurationMember); + cloudFunctionConfigurationMember = cloudFunctionConfigurationMember.NextNode("CloudFunctionConfiguration"); + } + + m_lambdaFunctionConfigurationsHasBeenSet = true; + } + } + + return *this; +} + +void NotificationConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_topicConfigurationsHasBeenSet) + { + for(const auto& item : m_topicConfigurations) + { + XmlNode topicConfigurationsNode = parentNode.CreateChildElement("TopicConfiguration"); + item.AddToNode(topicConfigurationsNode); + } + } + + if(m_queueConfigurationsHasBeenSet) + { + for(const auto& item : m_queueConfigurations) + { + XmlNode queueConfigurationsNode = parentNode.CreateChildElement("QueueConfiguration"); + item.AddToNode(queueConfigurationsNode); + } + } + + if(m_lambdaFunctionConfigurationsHasBeenSet) + { + for(const auto& item : m_lambdaFunctionConfigurations) + { + XmlNode lambdaFunctionConfigurationsNode = parentNode.CreateChildElement("CloudFunctionConfiguration"); + item.AddToNode(lambdaFunctionConfigurationsNode); + } + } + +} + +} // namespace Model +} // namespace S3 +} // namespace Aws |