AWS SDK for C++

AWS SDK for C++ Version 1.11.750

Loading...
Searching...
No Matches
NewSessionDetails.h
1
6#pragma once
7#include <aws/connect/Connect_EXPORTS.h>
8#include <aws/connect/model/ChatStreamingConfiguration.h>
9#include <aws/connect/model/ParticipantDetails.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace Connect {
24namespace Model {
25
33 public:
34 AWS_CONNECT_API NewSessionDetails() = default;
37 AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
53 inline const Aws::Vector<Aws::String>& GetSupportedMessagingContentTypes() const { return m_supportedMessagingContentTypes; }
54 inline bool SupportedMessagingContentTypesHasBeenSet() const { return m_supportedMessagingContentTypesHasBeenSet; }
55 template <typename SupportedMessagingContentTypesT = Aws::Vector<Aws::String>>
56 void SetSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) {
57 m_supportedMessagingContentTypesHasBeenSet = true;
58 m_supportedMessagingContentTypes = std::forward<SupportedMessagingContentTypesT>(value);
59 }
60 template <typename SupportedMessagingContentTypesT = Aws::Vector<Aws::String>>
61 NewSessionDetails& WithSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) {
62 SetSupportedMessagingContentTypes(std::forward<SupportedMessagingContentTypesT>(value));
63 return *this;
64 }
65 template <typename SupportedMessagingContentTypesT = Aws::String>
66 NewSessionDetails& AddSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) {
67 m_supportedMessagingContentTypesHasBeenSet = true;
68 m_supportedMessagingContentTypes.emplace_back(std::forward<SupportedMessagingContentTypesT>(value));
69 return *this;
70 }
72
74
75 inline const ParticipantDetails& GetParticipantDetails() const { return m_participantDetails; }
76 inline bool ParticipantDetailsHasBeenSet() const { return m_participantDetailsHasBeenSet; }
77 template <typename ParticipantDetailsT = ParticipantDetails>
78 void SetParticipantDetails(ParticipantDetailsT&& value) {
79 m_participantDetailsHasBeenSet = true;
80 m_participantDetails = std::forward<ParticipantDetailsT>(value);
81 }
82 template <typename ParticipantDetailsT = ParticipantDetails>
83 NewSessionDetails& WithParticipantDetails(ParticipantDetailsT&& value) {
84 SetParticipantDetails(std::forward<ParticipantDetailsT>(value));
85 return *this;
86 }
88
90
97 inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const { return m_attributes; }
98 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
99 template <typename AttributesT = Aws::Map<Aws::String, Aws::String>>
100 void SetAttributes(AttributesT&& value) {
101 m_attributesHasBeenSet = true;
102 m_attributes = std::forward<AttributesT>(value);
103 }
104 template <typename AttributesT = Aws::Map<Aws::String, Aws::String>>
105 NewSessionDetails& WithAttributes(AttributesT&& value) {
106 SetAttributes(std::forward<AttributesT>(value));
107 return *this;
108 }
109 template <typename AttributesKeyT = Aws::String, typename AttributesValueT = Aws::String>
110 NewSessionDetails& AddAttributes(AttributesKeyT&& key, AttributesValueT&& value) {
111 m_attributesHasBeenSet = true;
112 m_attributes.emplace(std::forward<AttributesKeyT>(key), std::forward<AttributesValueT>(value));
113 return *this;
114 }
116
118
119 inline const ChatStreamingConfiguration& GetStreamingConfiguration() const { return m_streamingConfiguration; }
120 inline bool StreamingConfigurationHasBeenSet() const { return m_streamingConfigurationHasBeenSet; }
121 template <typename StreamingConfigurationT = ChatStreamingConfiguration>
122 void SetStreamingConfiguration(StreamingConfigurationT&& value) {
123 m_streamingConfigurationHasBeenSet = true;
124 m_streamingConfiguration = std::forward<StreamingConfigurationT>(value);
125 }
126 template <typename StreamingConfigurationT = ChatStreamingConfiguration>
127 NewSessionDetails& WithStreamingConfiguration(StreamingConfigurationT&& value) {
128 SetStreamingConfiguration(std::forward<StreamingConfigurationT>(value));
129 return *this;
130 }
132 private:
133 Aws::Vector<Aws::String> m_supportedMessagingContentTypes;
134
135 ParticipantDetails m_participantDetails;
136
138
139 ChatStreamingConfiguration m_streamingConfiguration;
140 bool m_supportedMessagingContentTypesHasBeenSet = false;
141 bool m_participantDetailsHasBeenSet = false;
142 bool m_attributesHasBeenSet = false;
143 bool m_streamingConfigurationHasBeenSet = false;
144};
145
146} // namespace Model
147} // namespace Connect
148} // namespace Aws
NewSessionDetails & WithStreamingConfiguration(StreamingConfigurationT &&value)
const ParticipantDetails & GetParticipantDetails() const
const ChatStreamingConfiguration & GetStreamingConfiguration() const
NewSessionDetails & AddSupportedMessagingContentTypes(SupportedMessagingContentTypesT &&value)
void SetSupportedMessagingContentTypes(SupportedMessagingContentTypesT &&value)
AWS_CONNECT_API NewSessionDetails(Aws::Utils::Json::JsonView jsonValue)
NewSessionDetails & AddAttributes(AttributesKeyT &&key, AttributesValueT &&value)
void SetStreamingConfiguration(StreamingConfigurationT &&value)
AWS_CONNECT_API NewSessionDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetParticipantDetails(ParticipantDetailsT &&value)
AWS_CONNECT_API NewSessionDetails()=default
NewSessionDetails & WithParticipantDetails(ParticipantDetailsT &&value)
NewSessionDetails & WithAttributes(AttributesT &&value)
const Aws::Map< Aws::String, Aws::String > & GetAttributes() const
AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
NewSessionDetails & WithSupportedMessagingContentTypes(SupportedMessagingContentTypesT &&value)
const Aws::Vector< Aws::String > & GetSupportedMessagingContentTypes() const
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue