AWS SDK for C++

AWS SDK for C++ Version 1.11.752

Loading...
Searching...
No Matches
SubscribeToShardHandler.h
1
6#pragma once
7#include <aws/core/client/AWSError.h>
8#include <aws/core/utils/HashingUtils.h>
9#include <aws/core/utils/event/EventStreamHandler.h>
10#include <aws/kinesis/KinesisErrors.h>
11#include <aws/kinesis/Kinesis_EXPORTS.h>
12#include <aws/kinesis/model/SubscribeToShardEvent.h>
13#include <aws/kinesis/model/SubscribeToShardInitialResponse.h>
14
15namespace Aws {
16namespace Kinesis {
17namespace Model {
19
21 typedef std::function<void(const SubscribeToShardInitialResponse&)> SubscribeToShardInitialResponseCallback;
22 typedef std::function<void(const SubscribeToShardInitialResponse&, const Utils::Event::InitialResponseType)>
23 SubscribeToShardInitialResponseCallbackEx;
24 typedef std::function<void(const SubscribeToShardEvent&)> SubscribeToShardEventCallback;
25 typedef std::function<void(const Aws::Client::AWSError<KinesisErrors>& error)> ErrorCallback;
26
27 public:
28 AWS_KINESIS_API SubscribeToShardHandler();
29 AWS_KINESIS_API SubscribeToShardHandler& operator=(const SubscribeToShardHandler&) = default;
30 AWS_KINESIS_API SubscribeToShardHandler(const SubscribeToShardHandler&) = default;
31
32 AWS_KINESIS_API virtual void OnEvent() override;
33
35
41 inline void SetInitialResponseCallbackEx(const SubscribeToShardInitialResponseCallbackEx& callback) { m_onInitialResponse = callback; }
45 inline void SetInitialResponseCallback(const SubscribeToShardInitialResponseCallback& noArgCallback) {
46 m_onInitialResponse = [noArgCallback](const SubscribeToShardInitialResponse& rs, const Utils::Event::InitialResponseType) {
47 return noArgCallback(rs);
48 };
49 }
51 inline void SetSubscribeToShardEventCallback(const SubscribeToShardEventCallback& callback) { m_onSubscribeToShardEvent = callback; }
52 inline void SetOnErrorCallback(const ErrorCallback& callback) { m_onError = callback; }
53
54 inline SubscribeToShardInitialResponseCallbackEx& GetInitialResponseCallbackEx() { return m_onInitialResponse; }
55
56 private:
57 AWS_KINESIS_API void HandleEventInMessage();
58 AWS_KINESIS_API void HandleErrorInMessage();
59 AWS_KINESIS_API void MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage);
60
61 SubscribeToShardInitialResponseCallbackEx m_onInitialResponse;
62 SubscribeToShardEventCallback m_onSubscribeToShardEvent;
63 ErrorCallback m_onError;
64};
65
66namespace SubscribeToShardEventMapper {
68
70} // namespace SubscribeToShardEventMapper
71} // namespace Model
72} // namespace Kinesis
73} // namespace Aws
AWS_KINESIS_API SubscribeToShardHandler & operator=(const SubscribeToShardHandler &)=default
void SetInitialResponseCallbackEx(const SubscribeToShardInitialResponseCallbackEx &callback)
void SetOnErrorCallback(const ErrorCallback &callback)
void SetSubscribeToShardEventCallback(const SubscribeToShardEventCallback &callback)
SubscribeToShardInitialResponseCallbackEx & GetInitialResponseCallbackEx()
AWS_KINESIS_API SubscribeToShardHandler(const SubscribeToShardHandler &)=default
virtual AWS_KINESIS_API void OnEvent() override
void SetInitialResponseCallback(const SubscribeToShardInitialResponseCallback &noArgCallback)
AWS_KINESIS_API Aws::String GetNameForSubscribeToShardEventType(SubscribeToShardEventType value)
AWS_KINESIS_API SubscribeToShardEventType GetSubscribeToShardEventTypeForName(const Aws::String &name)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String