AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
SpanMessageValue.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSAllocator.h>
8#include <aws/qconnect/QConnect_EXPORTS.h>
9#include <aws/qconnect/model/SpanTextValue.h>
10#include <aws/qconnect/model/SpanToolUseValue.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace QConnect {
22namespace Model {
23class SpanToolResultValue;
24
32 public:
33 AWS_QCONNECT_API SpanMessageValue() = default;
36 AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const SpanTextValue& GetText() const { return m_text; }
43 inline bool TextHasBeenSet() const { return m_textHasBeenSet; }
44 template <typename TextT = SpanTextValue>
45 void SetText(TextT&& value) {
46 m_textHasBeenSet = true;
47 m_text = std::forward<TextT>(value);
48 }
49 template <typename TextT = SpanTextValue>
51 SetText(std::forward<TextT>(value));
52 return *this;
53 }
55
57
60 inline const SpanToolUseValue& GetToolUse() const { return m_toolUse; }
61 inline bool ToolUseHasBeenSet() const { return m_toolUseHasBeenSet; }
62 template <typename ToolUseT = SpanToolUseValue>
63 void SetToolUse(ToolUseT&& value) {
64 m_toolUseHasBeenSet = true;
65 m_toolUse = std::forward<ToolUseT>(value);
66 }
67 template <typename ToolUseT = SpanToolUseValue>
69 SetToolUse(std::forward<ToolUseT>(value));
70 return *this;
71 }
73
75
78 inline const SpanToolResultValue& GetToolResult() const { return *m_toolResult; }
79 inline bool ToolResultHasBeenSet() const { return m_toolResultHasBeenSet; }
80 template <typename ToolResultT = SpanToolResultValue>
81 void SetToolResult(ToolResultT&& value) {
82 m_toolResultHasBeenSet = true;
83 m_toolResult = Aws::MakeShared<SpanToolResultValue>("SpanMessageValue", std::forward<ToolResultT>(value));
84 }
85 template <typename ToolResultT = SpanToolResultValue>
87 SetToolResult(std::forward<ToolResultT>(value));
88 return *this;
89 }
91 private:
92 SpanTextValue m_text;
93
94 SpanToolUseValue m_toolUse;
95
96 std::shared_ptr<SpanToolResultValue> m_toolResult;
97 bool m_textHasBeenSet = false;
98 bool m_toolUseHasBeenSet = false;
99 bool m_toolResultHasBeenSet = false;
100};
101
102} // namespace Model
103} // namespace QConnect
104} // namespace Aws
const SpanToolUseValue & GetToolUse() const
SpanMessageValue & WithText(TextT &&value)
SpanMessageValue & WithToolResult(ToolResultT &&value)
const SpanTextValue & GetText() const
AWS_QCONNECT_API SpanMessageValue()=default
const SpanToolResultValue & GetToolResult() const
SpanMessageValue & WithToolUse(ToolUseT &&value)
AWS_QCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
void SetToolResult(ToolResultT &&value)
AWS_QCONNECT_API SpanMessageValue(Aws::Utils::Json::JsonView jsonValue)
AWS_QCONNECT_API SpanMessageValue & operator=(Aws::Utils::Json::JsonView jsonValue)
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
Aws::Utils::Json::JsonValue JsonValue