AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
ConverseStreamHandler.h
1
6#pragma once
7#include <aws/bedrock-runtime/BedrockRuntimeErrors.h>
8#include <aws/bedrock-runtime/BedrockRuntime_EXPORTS.h>
9#include <aws/bedrock-runtime/model/ContentBlockDeltaEvent.h>
10#include <aws/bedrock-runtime/model/ContentBlockStartEvent.h>
11#include <aws/bedrock-runtime/model/ContentBlockStopEvent.h>
12#include <aws/bedrock-runtime/model/ConverseStreamInitialResponse.h>
13#include <aws/bedrock-runtime/model/ConverseStreamMetadataEvent.h>
14#include <aws/bedrock-runtime/model/MessageStartEvent.h>
15#include <aws/bedrock-runtime/model/MessageStopEvent.h>
16#include <aws/core/client/AWSError.h>
17#include <aws/core/utils/HashingUtils.h>
18#include <aws/core/utils/event/EventStreamHandler.h>
19
20namespace Aws {
21namespace BedrockRuntime {
22namespace Model {
32};
33
35 typedef std::function<void(const ConverseStreamInitialResponse&)> ConverseStreamInitialResponseCallback;
36 typedef std::function<void(const ConverseStreamInitialResponse&, const Utils::Event::InitialResponseType)>
37 ConverseStreamInitialResponseCallbackEx;
38 typedef std::function<void(const MessageStartEvent&)> MessageStartEventCallback;
39 typedef std::function<void(const ContentBlockStartEvent&)> ContentBlockStartEventCallback;
40 typedef std::function<void(const ContentBlockDeltaEvent&)> ContentBlockDeltaEventCallback;
41 typedef std::function<void(const ContentBlockStopEvent&)> ContentBlockStopEventCallback;
42 typedef std::function<void(const MessageStopEvent&)> MessageStopEventCallback;
43 typedef std::function<void(const ConverseStreamMetadataEvent&)> ConverseStreamMetadataEventCallback;
44 typedef std::function<void(const Aws::Client::AWSError<BedrockRuntimeErrors>& error)> ErrorCallback;
45
46 public:
47 AWS_BEDROCKRUNTIME_API ConverseStreamHandler();
48 AWS_BEDROCKRUNTIME_API ConverseStreamHandler& operator=(const ConverseStreamHandler&) = default;
49 AWS_BEDROCKRUNTIME_API ConverseStreamHandler(const ConverseStreamHandler&) = default;
50
51 AWS_BEDROCKRUNTIME_API virtual void OnEvent() override;
52
54
60 inline void SetInitialResponseCallbackEx(const ConverseStreamInitialResponseCallbackEx& callback) { m_onInitialResponse = callback; }
64 inline void SetInitialResponseCallback(const ConverseStreamInitialResponseCallback& noArgCallback) {
66 return noArgCallback(rs);
67 };
68 }
70 inline void SetMessageStartEventCallback(const MessageStartEventCallback& callback) { m_onMessageStartEvent = callback; }
71 inline void SetContentBlockStartEventCallback(const ContentBlockStartEventCallback& callback) { m_onContentBlockStartEvent = callback; }
72 inline void SetContentBlockDeltaEventCallback(const ContentBlockDeltaEventCallback& callback) { m_onContentBlockDeltaEvent = callback; }
73 inline void SetContentBlockStopEventCallback(const ContentBlockStopEventCallback& callback) { m_onContentBlockStopEvent = callback; }
74 inline void SetMessageStopEventCallback(const MessageStopEventCallback& callback) { m_onMessageStopEvent = callback; }
75 inline void SetConverseStreamMetadataEventCallback(const ConverseStreamMetadataEventCallback& callback) {
76 m_onConverseStreamMetadataEvent = callback;
77 }
78 inline void SetOnErrorCallback(const ErrorCallback& callback) { m_onError = callback; }
79
80 inline ConverseStreamInitialResponseCallbackEx& GetInitialResponseCallbackEx() { return m_onInitialResponse; }
81
82 private:
83 AWS_BEDROCKRUNTIME_API void HandleEventInMessage();
84 AWS_BEDROCKRUNTIME_API void HandleErrorInMessage();
85 AWS_BEDROCKRUNTIME_API void MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage);
86
87 ConverseStreamInitialResponseCallbackEx m_onInitialResponse;
88 MessageStartEventCallback m_onMessageStartEvent;
89 ContentBlockStartEventCallback m_onContentBlockStartEvent;
90 ContentBlockDeltaEventCallback m_onContentBlockDeltaEvent;
91 ContentBlockStopEventCallback m_onContentBlockStopEvent;
92 MessageStopEventCallback m_onMessageStopEvent;
93 ConverseStreamMetadataEventCallback m_onConverseStreamMetadataEvent;
94 ErrorCallback m_onError;
95};
96
97namespace ConverseStreamEventMapper {
99
101} // namespace ConverseStreamEventMapper
102} // namespace Model
103} // namespace BedrockRuntime
104} // namespace Aws
AWS_BEDROCKRUNTIME_API ConverseStreamHandler(const ConverseStreamHandler &)=default
AWS_BEDROCKRUNTIME_API ConverseStreamHandler & operator=(const ConverseStreamHandler &)=default
void SetInitialResponseCallbackEx(const ConverseStreamInitialResponseCallbackEx &callback)
void SetInitialResponseCallback(const ConverseStreamInitialResponseCallback &noArgCallback)
void SetOnErrorCallback(const ErrorCallback &callback)
void SetMessageStartEventCallback(const MessageStartEventCallback &callback)
virtual AWS_BEDROCKRUNTIME_API void OnEvent() override
void SetConverseStreamMetadataEventCallback(const ConverseStreamMetadataEventCallback &callback)
void SetContentBlockStartEventCallback(const ContentBlockStartEventCallback &callback)
void SetContentBlockStopEventCallback(const ContentBlockStopEventCallback &callback)
ConverseStreamInitialResponseCallbackEx & GetInitialResponseCallbackEx()
void SetContentBlockDeltaEventCallback(const ContentBlockDeltaEventCallback &callback)
void SetMessageStopEventCallback(const MessageStopEventCallback &callback)
AWS_BEDROCKRUNTIME_API ConverseStreamEventType GetConverseStreamEventTypeForName(const Aws::String &name)
AWS_BEDROCKRUNTIME_API Aws::String GetNameForConverseStreamEventType(ConverseStreamEventType value)
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String