AWS SDK for C++
AWS SDK for C++
Loading...
Searching...
No Matches
SelectObjectContentHandler.h
Go to the documentation of this file.
1
6#pragma once
12
16
17namespace Aws
18{
19namespace S3Crt
20{
21namespace Model
22{
24 {
25 RECORDS,
26 STATS,
28 CONT,
29 END,
31 };
32
34 {
35 typedef std::function<void(const RecordsEvent&)> RecordsEventCallback;
36 typedef std::function<void(const StatsEvent&)> StatsEventCallback;
37 typedef std::function<void(const ProgressEvent&)> ProgressEventCallback;
38 typedef std::function<void()> ContinuationEventCallback;
39 typedef std::function<void()> EndEventCallback;
40 typedef std::function<void(const Aws::Client::AWSError<S3CrtErrors>& error)> ErrorCallback;
41
42 public:
45
46 AWS_S3CRT_API virtual void OnEvent() override;
47
48 inline void SetRecordsEventCallback(const RecordsEventCallback& callback) { m_onRecordsEvent = callback; }
49 inline void SetStatsEventCallback(const StatsEventCallback& callback) { m_onStatsEvent = callback; }
50 inline void SetProgressEventCallback(const ProgressEventCallback& callback) { m_onProgressEvent = callback; }
51 inline void SetContinuationEventCallback(const ContinuationEventCallback& callback) { m_onContinuationEvent = callback; }
52 inline void SetEndEventCallback(const EndEventCallback& callback) { m_onEndEvent = callback; }
53 inline void SetOnErrorCallback(const ErrorCallback& callback) { m_onError = callback; }
54
55 private:
56 AWS_S3CRT_API void HandleEventInMessage();
57 AWS_S3CRT_API void HandleErrorInMessage();
58 AWS_S3CRT_API void MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage);
59
60 RecordsEventCallback m_onRecordsEvent;
61 StatsEventCallback m_onStatsEvent;
62 ProgressEventCallback m_onProgressEvent;
63 ContinuationEventCallback m_onContinuationEvent;
64 EndEventCallback m_onEndEvent;
65 ErrorCallback m_onError;
66 };
67
68namespace SelectObjectContentEventMapper
69{
71
73} // namespace SelectObjectContentEventMapper
74} // namespace Model
75} // namespace S3Crt
76} // namespace Aws
#define AWS_S3CRT_API
Definition: S3Crt_EXPORTS.h:28
void SetProgressEventCallback(const ProgressEventCallback &callback)
void SetOnErrorCallback(const ErrorCallback &callback)
virtual AWS_S3CRT_API void OnEvent() override
void SetRecordsEventCallback(const RecordsEventCallback &callback)
void SetStatsEventCallback(const StatsEventCallback &callback)
void SetEndEventCallback(const EndEventCallback &callback)
void SetContinuationEventCallback(const ContinuationEventCallback &callback)
AWS_S3CRT_API SelectObjectContentHandler & operator=(const SelectObjectContentHandler &)=default
AWS_S3CRT_API Aws::String GetNameForSelectObjectContentEventType(SelectObjectContentEventType value)
AWS_S3CRT_API SelectObjectContentEventType GetSelectObjectContentEventTypeForName(const Aws::String &name)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String