AWS SDK for C++

AWS SDK for C++ Version 1.11.759

Loading...
Searching...
No Matches
AgentContactReference.h
1
6#pragma once
7#include <aws/connect/Connect_EXPORTS.h>
8#include <aws/connect/model/Channel.h>
9#include <aws/connect/model/ContactInitiationMethod.h>
10#include <aws/connect/model/ContactState.h>
11#include <aws/connect/model/QueueReference.h>
12#include <aws/core/utils/DateTime.h>
13#include <aws/core/utils/memory/stl/AWSString.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace Connect {
25namespace Model {
26
35 public:
36 AWS_CONNECT_API AgentContactReference() = default;
39 AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
45 inline const Aws::String& GetContactId() const { return m_contactId; }
46 inline bool ContactIdHasBeenSet() const { return m_contactIdHasBeenSet; }
47 template <typename ContactIdT = Aws::String>
48 void SetContactId(ContactIdT&& value) {
49 m_contactIdHasBeenSet = true;
50 m_contactId = std::forward<ContactIdT>(value);
51 }
52 template <typename ContactIdT = Aws::String>
53 AgentContactReference& WithContactId(ContactIdT&& value) {
54 SetContactId(std::forward<ContactIdT>(value));
55 return *this;
56 }
58
60
63 inline Channel GetChannel() const { return m_channel; }
64 inline bool ChannelHasBeenSet() const { return m_channelHasBeenSet; }
65 inline void SetChannel(Channel value) {
66 m_channelHasBeenSet = true;
67 m_channel = value;
68 }
70 SetChannel(value);
71 return *this;
72 }
74
76
79 inline ContactInitiationMethod GetInitiationMethod() const { return m_initiationMethod; }
80 inline bool InitiationMethodHasBeenSet() const { return m_initiationMethodHasBeenSet; }
82 m_initiationMethodHasBeenSet = true;
83 m_initiationMethod = value;
84 }
87 return *this;
88 }
90
92
100 inline ContactState GetAgentContactState() const { return m_agentContactState; }
101 inline bool AgentContactStateHasBeenSet() const { return m_agentContactStateHasBeenSet; }
103 m_agentContactStateHasBeenSet = true;
104 m_agentContactState = value;
105 }
108 return *this;
109 }
111
113
116 inline const Aws::Utils::DateTime& GetStateStartTimestamp() const { return m_stateStartTimestamp; }
117 inline bool StateStartTimestampHasBeenSet() const { return m_stateStartTimestampHasBeenSet; }
118 template <typename StateStartTimestampT = Aws::Utils::DateTime>
119 void SetStateStartTimestamp(StateStartTimestampT&& value) {
120 m_stateStartTimestampHasBeenSet = true;
121 m_stateStartTimestamp = std::forward<StateStartTimestampT>(value);
122 }
123 template <typename StateStartTimestampT = Aws::Utils::DateTime>
124 AgentContactReference& WithStateStartTimestamp(StateStartTimestampT&& value) {
125 SetStateStartTimestamp(std::forward<StateStartTimestampT>(value));
126 return *this;
127 }
129
131
134 inline const Aws::Utils::DateTime& GetConnectedToAgentTimestamp() const { return m_connectedToAgentTimestamp; }
135 inline bool ConnectedToAgentTimestampHasBeenSet() const { return m_connectedToAgentTimestampHasBeenSet; }
136 template <typename ConnectedToAgentTimestampT = Aws::Utils::DateTime>
137 void SetConnectedToAgentTimestamp(ConnectedToAgentTimestampT&& value) {
138 m_connectedToAgentTimestampHasBeenSet = true;
139 m_connectedToAgentTimestamp = std::forward<ConnectedToAgentTimestampT>(value);
140 }
141 template <typename ConnectedToAgentTimestampT = Aws::Utils::DateTime>
142 AgentContactReference& WithConnectedToAgentTimestamp(ConnectedToAgentTimestampT&& value) {
143 SetConnectedToAgentTimestamp(std::forward<ConnectedToAgentTimestampT>(value));
144 return *this;
145 }
147
149
150 inline const QueueReference& GetQueue() const { return m_queue; }
151 inline bool QueueHasBeenSet() const { return m_queueHasBeenSet; }
152 template <typename QueueT = QueueReference>
153 void SetQueue(QueueT&& value) {
154 m_queueHasBeenSet = true;
155 m_queue = std::forward<QueueT>(value);
156 }
157 template <typename QueueT = QueueReference>
159 SetQueue(std::forward<QueueT>(value));
160 return *this;
161 }
163 private:
164 Aws::String m_contactId;
165
166 Channel m_channel{Channel::NOT_SET};
167
169
170 ContactState m_agentContactState{ContactState::NOT_SET};
171
172 Aws::Utils::DateTime m_stateStartTimestamp{};
173
174 Aws::Utils::DateTime m_connectedToAgentTimestamp{};
175
176 QueueReference m_queue;
177 bool m_contactIdHasBeenSet = false;
178 bool m_channelHasBeenSet = false;
179 bool m_initiationMethodHasBeenSet = false;
180 bool m_agentContactStateHasBeenSet = false;
181 bool m_stateStartTimestampHasBeenSet = false;
182 bool m_connectedToAgentTimestampHasBeenSet = false;
183 bool m_queueHasBeenSet = false;
184};
185
186} // namespace Model
187} // namespace Connect
188} // namespace Aws
const Aws::Utils::DateTime & GetConnectedToAgentTimestamp() const
void SetInitiationMethod(ContactInitiationMethod value)
AgentContactReference & WithChannel(Channel value)
void SetConnectedToAgentTimestamp(ConnectedToAgentTimestampT &&value)
AWS_CONNECT_API AgentContactReference & operator=(Aws::Utils::Json::JsonView jsonValue)
ContactInitiationMethod GetInitiationMethod() const
AgentContactReference & WithQueue(QueueT &&value)
AgentContactReference & WithInitiationMethod(ContactInitiationMethod value)
AgentContactReference & WithStateStartTimestamp(StateStartTimestampT &&value)
AWS_CONNECT_API AgentContactReference(Aws::Utils::Json::JsonView jsonValue)
AgentContactReference & WithConnectedToAgentTimestamp(ConnectedToAgentTimestampT &&value)
const Aws::Utils::DateTime & GetStateStartTimestamp() const
AgentContactReference & WithAgentContactState(ContactState value)
AWS_CONNECT_API AgentContactReference()=default
void SetStateStartTimestamp(StateStartTimestampT &&value)
AgentContactReference & WithContactId(ContactIdT &&value)
AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue