AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
RetrieveAndGenerateStreamHandler.h
1
6#pragma once
7#include <aws/core/utils/HashingUtils.h>
8#include <aws/core/utils/event/EventStreamHandler.h>
9#include <aws/core/client/AWSError.h>
10#include <aws/bedrock-agent-runtime/BedrockAgentRuntime_EXPORTS.h>
11#include <aws/bedrock-agent-runtime/BedrockAgentRuntimeErrors.h>
12
13#include <aws/bedrock-agent-runtime/model/RetrieveAndGenerateStreamInitialResponse.h>
14#include <aws/bedrock-agent-runtime/model/CitationEvent.h>
15#include <aws/bedrock-agent-runtime/model/GuardrailEvent.h>
16#include <aws/bedrock-agent-runtime/model/RetrieveAndGenerateOutputEvent.h>
17
18namespace Aws
19{
20namespace BedrockAgentRuntime
21{
22namespace Model
23{
25 {
29 OUTPUT,
31 };
32
34 {
35 typedef std::function<void(const RetrieveAndGenerateStreamInitialResponse&)> RetrieveAndGenerateStreamInitialResponseCallback;
36 typedef std::function<void(const RetrieveAndGenerateStreamInitialResponse&, const Utils::Event::InitialResponseType)> RetrieveAndGenerateStreamInitialResponseCallbackEx;
37 typedef std::function<void(const CitationEvent&)> CitationEventCallback;
38 typedef std::function<void(const GuardrailEvent&)> GuardrailEventCallback;
39 typedef std::function<void(const RetrieveAndGenerateOutputEvent&)> RetrieveAndGenerateOutputEventCallback;
40 typedef std::function<void(const Aws::Client::AWSError<BedrockAgentRuntimeErrors>& error)> ErrorCallback;
41
42 public:
43 AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamHandler();
44 AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamHandler& operator=(const RetrieveAndGenerateStreamHandler&) = default;
45 AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamHandler(const RetrieveAndGenerateStreamHandler&) = default;
46
47 AWS_BEDROCKAGENTRUNTIME_API virtual void OnEvent() override;
48
50
56 inline void SetInitialResponseCallbackEx(const RetrieveAndGenerateStreamInitialResponseCallbackEx& callback) { m_onInitialResponse = callback; }
60 inline void SetInitialResponseCallback(const RetrieveAndGenerateStreamInitialResponseCallback& noArgCallback)
61 {
62 m_onInitialResponse = [noArgCallback](const RetrieveAndGenerateStreamInitialResponse& rs, const Utils::Event::InitialResponseType) { return noArgCallback(rs); };
63 }
65 inline void SetCitationEventCallback(const CitationEventCallback& callback) { m_onCitationEvent = callback; }
66 inline void SetGuardrailEventCallback(const GuardrailEventCallback& callback) { m_onGuardrailEvent = callback; }
67 inline void SetRetrieveAndGenerateOutputEventCallback(const RetrieveAndGenerateOutputEventCallback& callback) { m_onRetrieveAndGenerateOutputEvent = callback; }
68 inline void SetOnErrorCallback(const ErrorCallback& callback) { m_onError = callback; }
69
70 inline RetrieveAndGenerateStreamInitialResponseCallbackEx& GetInitialResponseCallbackEx() { return m_onInitialResponse; }
71
72 private:
73 AWS_BEDROCKAGENTRUNTIME_API void HandleEventInMessage();
74 AWS_BEDROCKAGENTRUNTIME_API void HandleErrorInMessage();
75 AWS_BEDROCKAGENTRUNTIME_API void MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage);
76
77 RetrieveAndGenerateStreamInitialResponseCallbackEx m_onInitialResponse;
78 CitationEventCallback m_onCitationEvent;
79 GuardrailEventCallback m_onGuardrailEvent;
80 RetrieveAndGenerateOutputEventCallback m_onRetrieveAndGenerateOutputEvent;
81 ErrorCallback m_onError;
82 };
83
84namespace RetrieveAndGenerateStreamEventMapper
85{
87
89} // namespace RetrieveAndGenerateStreamEventMapper
90} // namespace Model
91} // namespace BedrockAgentRuntime
92} // namespace Aws
virtual AWS_BEDROCKAGENTRUNTIME_API void OnEvent() override
AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamHandler & operator=(const RetrieveAndGenerateStreamHandler &)=default
AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamHandler(const RetrieveAndGenerateStreamHandler &)=default
void SetInitialResponseCallback(const RetrieveAndGenerateStreamInitialResponseCallback &noArgCallback)
RetrieveAndGenerateStreamInitialResponseCallbackEx & GetInitialResponseCallbackEx()
void SetInitialResponseCallbackEx(const RetrieveAndGenerateStreamInitialResponseCallbackEx &callback)
void SetRetrieveAndGenerateOutputEventCallback(const RetrieveAndGenerateOutputEventCallback &callback)
AWS_BEDROCKAGENTRUNTIME_API RetrieveAndGenerateStreamEventType GetRetrieveAndGenerateStreamEventTypeForName(const Aws::String &name)
AWS_BEDROCKAGENTRUNTIME_API Aws::String GetNameForRetrieveAndGenerateStreamEventType(RetrieveAndGenerateStreamEventType value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String