AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
InvokeWithResponseStreamHandler.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/lambda/LambdaErrors.h>
11#include <aws/lambda/Lambda_EXPORTS.h>
12#include <aws/lambda/model/InvokeResponseStreamUpdate.h>
13#include <aws/lambda/model/InvokeWithResponseStreamCompleteEvent.h>
14#include <aws/lambda/model/InvokeWithResponseStreamInitialResponse.h>
15
16namespace Aws {
17namespace Lambda {
18namespace Model {
20
22 typedef std::function<void(const InvokeWithResponseStreamInitialResponse&)> InvokeWithResponseStreamInitialResponseCallback;
23 typedef std::function<void(const InvokeWithResponseStreamInitialResponse&, const Utils::Event::InitialResponseType)>
24 InvokeWithResponseStreamInitialResponseCallbackEx;
25 typedef std::function<void(const InvokeResponseStreamUpdate&)> InvokeResponseStreamUpdateCallback;
26 typedef std::function<void(const InvokeWithResponseStreamCompleteEvent&)> InvokeWithResponseStreamCompleteEventCallback;
27 typedef std::function<void(const Aws::Client::AWSError<LambdaErrors>& error)> ErrorCallback;
28
29 public:
33
34 AWS_LAMBDA_API virtual void OnEvent() override;
35
37
43 inline void SetInitialResponseCallbackEx(const InvokeWithResponseStreamInitialResponseCallbackEx& callback) {
44 m_onInitialResponse = callback;
45 }
49 inline void SetInitialResponseCallback(const InvokeWithResponseStreamInitialResponseCallback& noArgCallback) {
50 m_onInitialResponse = [noArgCallback](const InvokeWithResponseStreamInitialResponse& rs, const Utils::Event::InitialResponseType) {
51 return noArgCallback(rs);
52 };
53 }
55 inline void SetInvokeResponseStreamUpdateCallback(const InvokeResponseStreamUpdateCallback& callback) {
56 m_onInvokeResponseStreamUpdate = callback;
57 }
58 inline void SetInvokeWithResponseStreamCompleteEventCallback(const InvokeWithResponseStreamCompleteEventCallback& callback) {
59 m_onInvokeWithResponseStreamCompleteEvent = callback;
60 }
61 inline void SetOnErrorCallback(const ErrorCallback& callback) { m_onError = callback; }
62
63 inline InvokeWithResponseStreamInitialResponseCallbackEx& GetInitialResponseCallbackEx() { return m_onInitialResponse; }
64
65 private:
66 AWS_LAMBDA_API void HandleEventInMessage();
67 AWS_LAMBDA_API void HandleErrorInMessage();
68 AWS_LAMBDA_API void MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage);
69
70 InvokeWithResponseStreamInitialResponseCallbackEx m_onInitialResponse;
71 InvokeResponseStreamUpdateCallback m_onInvokeResponseStreamUpdate;
72 InvokeWithResponseStreamCompleteEventCallback m_onInvokeWithResponseStreamCompleteEvent;
73 ErrorCallback m_onError;
74};
75
76namespace InvokeWithResponseStreamEventMapper {
78
80} // namespace InvokeWithResponseStreamEventMapper
81} // namespace Model
82} // namespace Lambda
83} // namespace Aws
AWS_LAMBDA_API InvokeWithResponseStreamHandler(const InvokeWithResponseStreamHandler &)=default
void SetInitialResponseCallback(const InvokeWithResponseStreamInitialResponseCallback &noArgCallback)
void SetInitialResponseCallbackEx(const InvokeWithResponseStreamInitialResponseCallbackEx &callback)
InvokeWithResponseStreamInitialResponseCallbackEx & GetInitialResponseCallbackEx()
AWS_LAMBDA_API InvokeWithResponseStreamHandler & operator=(const InvokeWithResponseStreamHandler &)=default
void SetInvokeResponseStreamUpdateCallback(const InvokeResponseStreamUpdateCallback &callback)
virtual AWS_LAMBDA_API void OnEvent() override
void SetInvokeWithResponseStreamCompleteEventCallback(const InvokeWithResponseStreamCompleteEventCallback &callback)
AWS_LAMBDA_API Aws::String GetNameForInvokeWithResponseStreamEventType(InvokeWithResponseStreamEventType value)
AWS_LAMBDA_API InvokeWithResponseStreamEventType GetInvokeWithResponseStreamEventTypeForName(const Aws::String &name)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String