aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentHandler.h
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/include/aws/s3/model/SelectObjectContentHandler.h
downloadydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentHandler.h')
-rw-r--r--contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentHandler.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentHandler.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentHandler.h
new file mode 100644
index 0000000000..3b04be1d0d
--- /dev/null
+++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/model/SelectObjectContentHandler.h
@@ -0,0 +1,76 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#pragma once
+#include <aws/core/utils/HashingUtils.h>
+#include <aws/core/utils/event/EventStreamHandler.h>
+#include <aws/core/client/AWSError.h>
+#include <aws/s3/S3_EXPORTS.h>
+#include <aws/s3/S3Errors.h>
+
+#include <aws/s3/model/RecordsEvent.h>
+#include <aws/s3/model/StatsEvent.h>
+#include <aws/s3/model/ProgressEvent.h>
+
+namespace Aws
+{
+namespace S3
+{
+namespace Model
+{
+ enum class SelectObjectContentEventType
+ {
+ RECORDS,
+ STATS,
+ PROGRESS,
+ CONT,
+ END,
+ UNKNOWN
+ };
+
+ class AWS_S3_API SelectObjectContentHandler : public Aws::Utils::Event::EventStreamHandler
+ {
+ typedef std::function<void(const RecordsEvent&)> RecordsEventCallback;
+ typedef std::function<void(const StatsEvent&)> StatsEventCallback;
+ typedef std::function<void(const ProgressEvent&)> ProgressEventCallback;
+ typedef std::function<void()> ContinuationEventCallback;
+ typedef std::function<void()> EndEventCallback;
+ typedef std::function<void(const Aws::Client::AWSError<S3Errors>& error)> ErrorCallback;
+
+ public:
+ SelectObjectContentHandler();
+ SelectObjectContentHandler& operator=(const SelectObjectContentHandler& handler) = default;
+
+ virtual void OnEvent() override;
+
+ inline void SetRecordsEventCallback(const RecordsEventCallback& callback) { m_onRecordsEvent = callback; }
+ inline void SetStatsEventCallback(const StatsEventCallback& callback) { m_onStatsEvent = callback; }
+ inline void SetProgressEventCallback(const ProgressEventCallback& callback) { m_onProgressEvent = callback; }
+ inline void SetContinuationEventCallback(const ContinuationEventCallback& callback) { m_onContinuationEvent = callback; }
+ inline void SetEndEventCallback(const EndEventCallback& callback) { m_onEndEvent = callback; }
+ inline void SetOnErrorCallback(const ErrorCallback& callback) { m_onError = callback; }
+
+ private:
+ void HandleEventInMessage();
+ void HandleErrorInMessage();
+ void MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage);
+
+ RecordsEventCallback m_onRecordsEvent;
+ StatsEventCallback m_onStatsEvent;
+ ProgressEventCallback m_onProgressEvent;
+ ContinuationEventCallback m_onContinuationEvent;
+ EndEventCallback m_onEndEvent;
+ ErrorCallback m_onError;
+ };
+
+namespace SelectObjectContentEventMapper
+{
+ AWS_S3_API SelectObjectContentEventType GetSelectObjectContentEventTypeForName(const Aws::String& name);
+
+ AWS_S3_API Aws::String GetNameForSelectObjectContentEventType(SelectObjectContentEventType value);
+} // namespace SelectObjectContentEventMapper
+} // namespace Model
+} // namespace S3
+} // namespace Aws