AWS SDK for C++

AWS SDK for C++ Version 1.11.759

Loading...
Searching...
No Matches
InvokeFlowHandler.h
1
6#pragma once
7#include <aws/bedrock-agent-runtime/BedrockAgentRuntimeErrors.h>
8#include <aws/bedrock-agent-runtime/BedrockAgentRuntime_EXPORTS.h>
9#include <aws/bedrock-agent-runtime/model/FlowCompletionEvent.h>
10#include <aws/bedrock-agent-runtime/model/FlowMultiTurnInputRequestEvent.h>
11#include <aws/bedrock-agent-runtime/model/FlowOutputEvent.h>
12#include <aws/bedrock-agent-runtime/model/FlowTraceEvent.h>
13#include <aws/bedrock-agent-runtime/model/InvokeFlowInitialResponse.h>
14#include <aws/core/client/AWSError.h>
15#include <aws/core/utils/HashingUtils.h>
16#include <aws/core/utils/event/EventStreamHandler.h>
17
18namespace Aws {
19namespace BedrockAgentRuntime {
20namespace Model {
28};
29
31 typedef std::function<void(const InvokeFlowInitialResponse&)> InvokeFlowInitialResponseCallback;
32 typedef std::function<void(const InvokeFlowInitialResponse&, const Utils::Event::InitialResponseType)>
33 InvokeFlowInitialResponseCallbackEx;
34 typedef std::function<void(const FlowCompletionEvent&)> FlowCompletionEventCallback;
35 typedef std::function<void(const FlowMultiTurnInputRequestEvent&)> FlowMultiTurnInputRequestEventCallback;
36 typedef std::function<void(const FlowOutputEvent&)> FlowOutputEventCallback;
37 typedef std::function<void(const FlowTraceEvent&)> FlowTraceEventCallback;
38 typedef std::function<void(const Aws::Client::AWSError<BedrockAgentRuntimeErrors>& error)> ErrorCallback;
39
40 public:
41 AWS_BEDROCKAGENTRUNTIME_API InvokeFlowHandler();
42 AWS_BEDROCKAGENTRUNTIME_API InvokeFlowHandler& operator=(const InvokeFlowHandler&) = default;
43 AWS_BEDROCKAGENTRUNTIME_API InvokeFlowHandler(const InvokeFlowHandler&) = default;
44
45 AWS_BEDROCKAGENTRUNTIME_API virtual void OnEvent() override;
46
48
54 inline void SetInitialResponseCallbackEx(const InvokeFlowInitialResponseCallbackEx& callback) { m_onInitialResponse = callback; }
58 inline void SetInitialResponseCallback(const InvokeFlowInitialResponseCallback& noArgCallback) {
60 return noArgCallback(rs);
61 };
62 }
64 inline void SetFlowCompletionEventCallback(const FlowCompletionEventCallback& callback) { m_onFlowCompletionEvent = callback; }
65 inline void SetFlowMultiTurnInputRequestEventCallback(const FlowMultiTurnInputRequestEventCallback& callback) {
66 m_onFlowMultiTurnInputRequestEvent = callback;
67 }
68 inline void SetFlowOutputEventCallback(const FlowOutputEventCallback& callback) { m_onFlowOutputEvent = callback; }
69 inline void SetFlowTraceEventCallback(const FlowTraceEventCallback& callback) { m_onFlowTraceEvent = callback; }
70 inline void SetOnErrorCallback(const ErrorCallback& callback) { m_onError = callback; }
71
72 inline InvokeFlowInitialResponseCallbackEx& GetInitialResponseCallbackEx() { return m_onInitialResponse; }
73
74 private:
75 AWS_BEDROCKAGENTRUNTIME_API void HandleEventInMessage();
76 AWS_BEDROCKAGENTRUNTIME_API void HandleErrorInMessage();
77 AWS_BEDROCKAGENTRUNTIME_API void MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage);
78
79 InvokeFlowInitialResponseCallbackEx m_onInitialResponse;
80 FlowCompletionEventCallback m_onFlowCompletionEvent;
81 FlowMultiTurnInputRequestEventCallback m_onFlowMultiTurnInputRequestEvent;
82 FlowOutputEventCallback m_onFlowOutputEvent;
83 FlowTraceEventCallback m_onFlowTraceEvent;
84 ErrorCallback m_onError;
85};
86
87namespace InvokeFlowEventMapper {
89
91} // namespace InvokeFlowEventMapper
92} // namespace Model
93} // namespace BedrockAgentRuntime
94} // namespace Aws
AWS_BEDROCKAGENTRUNTIME_API InvokeFlowHandler(const InvokeFlowHandler &)=default
virtual AWS_BEDROCKAGENTRUNTIME_API void OnEvent() override
AWS_BEDROCKAGENTRUNTIME_API InvokeFlowHandler & operator=(const InvokeFlowHandler &)=default
AWS_BEDROCKAGENTRUNTIME_API InvokeFlowHandler()
void SetFlowOutputEventCallback(const FlowOutputEventCallback &callback)
InvokeFlowInitialResponseCallbackEx & GetInitialResponseCallbackEx()
void SetOnErrorCallback(const ErrorCallback &callback)
void SetFlowCompletionEventCallback(const FlowCompletionEventCallback &callback)
void SetInitialResponseCallbackEx(const InvokeFlowInitialResponseCallbackEx &callback)
void SetInitialResponseCallback(const InvokeFlowInitialResponseCallback &noArgCallback)
void SetFlowTraceEventCallback(const FlowTraceEventCallback &callback)
void SetFlowMultiTurnInputRequestEventCallback(const FlowMultiTurnInputRequestEventCallback &callback)
AWS_BEDROCKAGENTRUNTIME_API InvokeFlowEventType GetInvokeFlowEventTypeForName(const Aws::String &name)
AWS_BEDROCKAGENTRUNTIME_API Aws::String GetNameForInvokeFlowEventType(InvokeFlowEventType value)
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String