1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/connectparticipant/ConnectParticipant_EXPORTS.h> 8 #include <aws/connectparticipant/ConnectParticipantErrors.h> 9 #include <aws/core/client/AWSError.h> 10 #include <aws/core/client/ClientConfiguration.h> 11 #include <aws/core/client/AWSClient.h> 12 #include <aws/core/utils/memory/stl/AWSString.h> 13 #include <aws/core/utils/json/JsonSerializer.h> 14 #include <aws/connectparticipant/model/CompleteAttachmentUploadResult.h> 15 #include <aws/connectparticipant/model/CreateParticipantConnectionResult.h> 16 #include <aws/connectparticipant/model/DisconnectParticipantResult.h> 17 #include <aws/connectparticipant/model/GetAttachmentResult.h> 18 #include <aws/connectparticipant/model/GetTranscriptResult.h> 19 #include <aws/connectparticipant/model/SendEventResult.h> 20 #include <aws/connectparticipant/model/SendMessageResult.h> 21 #include <aws/connectparticipant/model/StartAttachmentUploadResult.h> 22 #include <aws/core/client/AsyncCallerContext.h> 23 #include <aws/core/http/HttpTypes.h> 24 #include <future> 25 #include <functional> 26 27 namespace Aws 28 { 29 30 namespace Http 31 { 32 class HttpClient; 33 class HttpClientFactory; 34 } // namespace Http 35 36 namespace Utils 37 { 38 template< typename R, typename E> class Outcome; 39 namespace Threading 40 { 41 class Executor; 42 } // namespace Threading 43 } // namespace Utils 44 45 namespace Auth 46 { 47 class AWSCredentials; 48 class AWSCredentialsProvider; 49 } // namespace Auth 50 51 namespace Client 52 { 53 class RetryStrategy; 54 } // namespace Client 55 56 namespace ConnectParticipant 57 { 58 59 namespace Model 60 { 61 class CompleteAttachmentUploadRequest; 62 class CreateParticipantConnectionRequest; 63 class DisconnectParticipantRequest; 64 class GetAttachmentRequest; 65 class GetTranscriptRequest; 66 class SendEventRequest; 67 class SendMessageRequest; 68 class StartAttachmentUploadRequest; 69 70 typedef Aws::Utils::Outcome<CompleteAttachmentUploadResult, ConnectParticipantError> CompleteAttachmentUploadOutcome; 71 typedef Aws::Utils::Outcome<CreateParticipantConnectionResult, ConnectParticipantError> CreateParticipantConnectionOutcome; 72 typedef Aws::Utils::Outcome<DisconnectParticipantResult, ConnectParticipantError> DisconnectParticipantOutcome; 73 typedef Aws::Utils::Outcome<GetAttachmentResult, ConnectParticipantError> GetAttachmentOutcome; 74 typedef Aws::Utils::Outcome<GetTranscriptResult, ConnectParticipantError> GetTranscriptOutcome; 75 typedef Aws::Utils::Outcome<SendEventResult, ConnectParticipantError> SendEventOutcome; 76 typedef Aws::Utils::Outcome<SendMessageResult, ConnectParticipantError> SendMessageOutcome; 77 typedef Aws::Utils::Outcome<StartAttachmentUploadResult, ConnectParticipantError> StartAttachmentUploadOutcome; 78 79 typedef std::future<CompleteAttachmentUploadOutcome> CompleteAttachmentUploadOutcomeCallable; 80 typedef std::future<CreateParticipantConnectionOutcome> CreateParticipantConnectionOutcomeCallable; 81 typedef std::future<DisconnectParticipantOutcome> DisconnectParticipantOutcomeCallable; 82 typedef std::future<GetAttachmentOutcome> GetAttachmentOutcomeCallable; 83 typedef std::future<GetTranscriptOutcome> GetTranscriptOutcomeCallable; 84 typedef std::future<SendEventOutcome> SendEventOutcomeCallable; 85 typedef std::future<SendMessageOutcome> SendMessageOutcomeCallable; 86 typedef std::future<StartAttachmentUploadOutcome> StartAttachmentUploadOutcomeCallable; 87 } // namespace Model 88 89 class ConnectParticipantClient; 90 91 typedef std::function<void(const ConnectParticipantClient*, const Model::CompleteAttachmentUploadRequest&, const Model::CompleteAttachmentUploadOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CompleteAttachmentUploadResponseReceivedHandler; 92 typedef std::function<void(const ConnectParticipantClient*, const Model::CreateParticipantConnectionRequest&, const Model::CreateParticipantConnectionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateParticipantConnectionResponseReceivedHandler; 93 typedef std::function<void(const ConnectParticipantClient*, const Model::DisconnectParticipantRequest&, const Model::DisconnectParticipantOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisconnectParticipantResponseReceivedHandler; 94 typedef std::function<void(const ConnectParticipantClient*, const Model::GetAttachmentRequest&, const Model::GetAttachmentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetAttachmentResponseReceivedHandler; 95 typedef std::function<void(const ConnectParticipantClient*, const Model::GetTranscriptRequest&, const Model::GetTranscriptOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetTranscriptResponseReceivedHandler; 96 typedef std::function<void(const ConnectParticipantClient*, const Model::SendEventRequest&, const Model::SendEventOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SendEventResponseReceivedHandler; 97 typedef std::function<void(const ConnectParticipantClient*, const Model::SendMessageRequest&, const Model::SendMessageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SendMessageResponseReceivedHandler; 98 typedef std::function<void(const ConnectParticipantClient*, const Model::StartAttachmentUploadRequest&, const Model::StartAttachmentUploadOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartAttachmentUploadResponseReceivedHandler; 99 100 /** 101 * <p>Amazon Connect is a cloud-based contact center solution that makes it easy to 102 * set up and manage a customer contact center and provide reliable customer 103 * engagement at any scale.</p> <p>Amazon Connect enables customer contacts through 104 * voice or chat.</p> <p>The APIs described here are used by chat participants, 105 * such as agents and customers.</p> 106 */ 107 class AWS_CONNECTPARTICIPANT_API ConnectParticipantClient : public Aws::Client::AWSJsonClient 108 { 109 public: 110 typedef Aws::Client::AWSJsonClient BASECLASS; 111 112 /** 113 * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config 114 * is not specified, it will be initialized to default values. 115 */ 116 ConnectParticipantClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 117 118 /** 119 * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config 120 * is not specified, it will be initialized to default values. 121 */ 122 ConnectParticipantClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 123 124 /** 125 * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, 126 * the default http client factory will be used 127 */ 128 ConnectParticipantClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider, 129 const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 130 131 virtual ~ConnectParticipantClient(); 132 133 134 /** 135 * <p>Allows you to confirm that the attachment has been uploaded using the 136 * pre-signed URL provided in StartAttachmentUpload API. </p><p><h3>See Also:</h3> 137 * <a 138 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/CompleteAttachmentUpload">AWS 139 * API Reference</a></p> 140 */ 141 virtual Model::CompleteAttachmentUploadOutcome CompleteAttachmentUpload(const Model::CompleteAttachmentUploadRequest& request) const; 142 143 /** 144 * <p>Allows you to confirm that the attachment has been uploaded using the 145 * pre-signed URL provided in StartAttachmentUpload API. </p><p><h3>See Also:</h3> 146 * <a 147 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/CompleteAttachmentUpload">AWS 148 * API Reference</a></p> 149 * 150 * returns a future to the operation so that it can be executed in parallel to other requests. 151 */ 152 virtual Model::CompleteAttachmentUploadOutcomeCallable CompleteAttachmentUploadCallable(const Model::CompleteAttachmentUploadRequest& request) const; 153 154 /** 155 * <p>Allows you to confirm that the attachment has been uploaded using the 156 * pre-signed URL provided in StartAttachmentUpload API. </p><p><h3>See Also:</h3> 157 * <a 158 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/CompleteAttachmentUpload">AWS 159 * API Reference</a></p> 160 * 161 * Queues the request into a thread executor and triggers associated callback when operation has finished. 162 */ 163 virtual void CompleteAttachmentUploadAsync(const Model::CompleteAttachmentUploadRequest& request, const CompleteAttachmentUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 164 165 /** 166 * <p>Creates the participant's connection. Note that ParticipantToken is used for 167 * invoking this API instead of ConnectionToken.</p> <p>The participant token is 168 * valid for the lifetime of the participant – until they are part of a 169 * contact.</p> <p>The response URL for <code>WEBSOCKET</code> Type has a connect 170 * expiry timeout of 100s. Clients must manually connect to the returned websocket 171 * URL and subscribe to the desired topic. </p> <p>For chat, you need to publish 172 * the following on the established websocket connection:</p> <p> 173 * <code>{"topic":"aws/subscribe","content":{"topics":["aws/chat"]}}</code> </p> 174 * <p>Upon websocket URL expiry, as specified in the response ConnectionExpiry 175 * parameter, clients need to call this API again to obtain a new websocket URL and 176 * perform the same steps as before.</p> <p>The Amazon Connect Participant 177 * Service APIs do not use <a 178 * href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature 179 * Version 4 authentication</a>.</p> <p><h3>See Also:</h3> <a 180 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/CreateParticipantConnection">AWS 181 * API Reference</a></p> 182 */ 183 virtual Model::CreateParticipantConnectionOutcome CreateParticipantConnection(const Model::CreateParticipantConnectionRequest& request) const; 184 185 /** 186 * <p>Creates the participant's connection. Note that ParticipantToken is used for 187 * invoking this API instead of ConnectionToken.</p> <p>The participant token is 188 * valid for the lifetime of the participant – until they are part of a 189 * contact.</p> <p>The response URL for <code>WEBSOCKET</code> Type has a connect 190 * expiry timeout of 100s. Clients must manually connect to the returned websocket 191 * URL and subscribe to the desired topic. </p> <p>For chat, you need to publish 192 * the following on the established websocket connection:</p> <p> 193 * <code>{"topic":"aws/subscribe","content":{"topics":["aws/chat"]}}</code> </p> 194 * <p>Upon websocket URL expiry, as specified in the response ConnectionExpiry 195 * parameter, clients need to call this API again to obtain a new websocket URL and 196 * perform the same steps as before.</p> <p>The Amazon Connect Participant 197 * Service APIs do not use <a 198 * href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature 199 * Version 4 authentication</a>.</p> <p><h3>See Also:</h3> <a 200 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/CreateParticipantConnection">AWS 201 * API Reference</a></p> 202 * 203 * returns a future to the operation so that it can be executed in parallel to other requests. 204 */ 205 virtual Model::CreateParticipantConnectionOutcomeCallable CreateParticipantConnectionCallable(const Model::CreateParticipantConnectionRequest& request) const; 206 207 /** 208 * <p>Creates the participant's connection. Note that ParticipantToken is used for 209 * invoking this API instead of ConnectionToken.</p> <p>The participant token is 210 * valid for the lifetime of the participant – until they are part of a 211 * contact.</p> <p>The response URL for <code>WEBSOCKET</code> Type has a connect 212 * expiry timeout of 100s. Clients must manually connect to the returned websocket 213 * URL and subscribe to the desired topic. </p> <p>For chat, you need to publish 214 * the following on the established websocket connection:</p> <p> 215 * <code>{"topic":"aws/subscribe","content":{"topics":["aws/chat"]}}</code> </p> 216 * <p>Upon websocket URL expiry, as specified in the response ConnectionExpiry 217 * parameter, clients need to call this API again to obtain a new websocket URL and 218 * perform the same steps as before.</p> <p>The Amazon Connect Participant 219 * Service APIs do not use <a 220 * href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature 221 * Version 4 authentication</a>.</p> <p><h3>See Also:</h3> <a 222 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/CreateParticipantConnection">AWS 223 * API Reference</a></p> 224 * 225 * Queues the request into a thread executor and triggers associated callback when operation has finished. 226 */ 227 virtual void CreateParticipantConnectionAsync(const Model::CreateParticipantConnectionRequest& request, const CreateParticipantConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 228 229 /** 230 * <p>Disconnects a participant. Note that ConnectionToken is used for invoking 231 * this API instead of ParticipantToken.</p> <p>The Amazon Connect Participant 232 * Service APIs do not use <a 233 * href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature 234 * Version 4 authentication</a>.</p><p><h3>See Also:</h3> <a 235 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/DisconnectParticipant">AWS 236 * API Reference</a></p> 237 */ 238 virtual Model::DisconnectParticipantOutcome DisconnectParticipant(const Model::DisconnectParticipantRequest& request) const; 239 240 /** 241 * <p>Disconnects a participant. Note that ConnectionToken is used for invoking 242 * this API instead of ParticipantToken.</p> <p>The Amazon Connect Participant 243 * Service APIs do not use <a 244 * href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature 245 * Version 4 authentication</a>.</p><p><h3>See Also:</h3> <a 246 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/DisconnectParticipant">AWS 247 * API Reference</a></p> 248 * 249 * returns a future to the operation so that it can be executed in parallel to other requests. 250 */ 251 virtual Model::DisconnectParticipantOutcomeCallable DisconnectParticipantCallable(const Model::DisconnectParticipantRequest& request) const; 252 253 /** 254 * <p>Disconnects a participant. Note that ConnectionToken is used for invoking 255 * this API instead of ParticipantToken.</p> <p>The Amazon Connect Participant 256 * Service APIs do not use <a 257 * href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature 258 * Version 4 authentication</a>.</p><p><h3>See Also:</h3> <a 259 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/DisconnectParticipant">AWS 260 * API Reference</a></p> 261 * 262 * Queues the request into a thread executor and triggers associated callback when operation has finished. 263 */ 264 virtual void DisconnectParticipantAsync(const Model::DisconnectParticipantRequest& request, const DisconnectParticipantResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 265 266 /** 267 * <p>Provides a pre-signed URL for download of a completed attachment. This is an 268 * asynchronous API for use with active contacts.</p><p><h3>See Also:</h3> <a 269 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/GetAttachment">AWS 270 * API Reference</a></p> 271 */ 272 virtual Model::GetAttachmentOutcome GetAttachment(const Model::GetAttachmentRequest& request) const; 273 274 /** 275 * <p>Provides a pre-signed URL for download of a completed attachment. This is an 276 * asynchronous API for use with active contacts.</p><p><h3>See Also:</h3> <a 277 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/GetAttachment">AWS 278 * API Reference</a></p> 279 * 280 * returns a future to the operation so that it can be executed in parallel to other requests. 281 */ 282 virtual Model::GetAttachmentOutcomeCallable GetAttachmentCallable(const Model::GetAttachmentRequest& request) const; 283 284 /** 285 * <p>Provides a pre-signed URL for download of a completed attachment. This is an 286 * asynchronous API for use with active contacts.</p><p><h3>See Also:</h3> <a 287 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/GetAttachment">AWS 288 * API Reference</a></p> 289 * 290 * Queues the request into a thread executor and triggers associated callback when operation has finished. 291 */ 292 virtual void GetAttachmentAsync(const Model::GetAttachmentRequest& request, const GetAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 293 294 /** 295 * <p>Retrieves a transcript of the session, including details about any 296 * attachments. Note that ConnectionToken is used for invoking this API instead of 297 * ParticipantToken.</p> <p>The Amazon Connect Participant Service APIs do not use 298 * <a 299 * href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature 300 * Version 4 authentication</a>.</p><p><h3>See Also:</h3> <a 301 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/GetTranscript">AWS 302 * API Reference</a></p> 303 */ 304 virtual Model::GetTranscriptOutcome GetTranscript(const Model::GetTranscriptRequest& request) const; 305 306 /** 307 * <p>Retrieves a transcript of the session, including details about any 308 * attachments. Note that ConnectionToken is used for invoking this API instead of 309 * ParticipantToken.</p> <p>The Amazon Connect Participant Service APIs do not use 310 * <a 311 * href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature 312 * Version 4 authentication</a>.</p><p><h3>See Also:</h3> <a 313 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/GetTranscript">AWS 314 * API Reference</a></p> 315 * 316 * returns a future to the operation so that it can be executed in parallel to other requests. 317 */ 318 virtual Model::GetTranscriptOutcomeCallable GetTranscriptCallable(const Model::GetTranscriptRequest& request) const; 319 320 /** 321 * <p>Retrieves a transcript of the session, including details about any 322 * attachments. Note that ConnectionToken is used for invoking this API instead of 323 * ParticipantToken.</p> <p>The Amazon Connect Participant Service APIs do not use 324 * <a 325 * href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature 326 * Version 4 authentication</a>.</p><p><h3>See Also:</h3> <a 327 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/GetTranscript">AWS 328 * API Reference</a></p> 329 * 330 * Queues the request into a thread executor and triggers associated callback when operation has finished. 331 */ 332 virtual void GetTranscriptAsync(const Model::GetTranscriptRequest& request, const GetTranscriptResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 333 334 /** 335 * <p>Sends an event. Note that ConnectionToken is used for invoking this API 336 * instead of ParticipantToken.</p> <p>The Amazon Connect Participant Service APIs 337 * do not use <a 338 * href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature 339 * Version 4 authentication</a>.</p><p><h3>See Also:</h3> <a 340 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/SendEvent">AWS 341 * API Reference</a></p> 342 */ 343 virtual Model::SendEventOutcome SendEvent(const Model::SendEventRequest& request) const; 344 345 /** 346 * <p>Sends an event. Note that ConnectionToken is used for invoking this API 347 * instead of ParticipantToken.</p> <p>The Amazon Connect Participant Service APIs 348 * do not use <a 349 * href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature 350 * Version 4 authentication</a>.</p><p><h3>See Also:</h3> <a 351 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/SendEvent">AWS 352 * API Reference</a></p> 353 * 354 * returns a future to the operation so that it can be executed in parallel to other requests. 355 */ 356 virtual Model::SendEventOutcomeCallable SendEventCallable(const Model::SendEventRequest& request) const; 357 358 /** 359 * <p>Sends an event. Note that ConnectionToken is used for invoking this API 360 * instead of ParticipantToken.</p> <p>The Amazon Connect Participant Service APIs 361 * do not use <a 362 * href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature 363 * Version 4 authentication</a>.</p><p><h3>See Also:</h3> <a 364 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/SendEvent">AWS 365 * API Reference</a></p> 366 * 367 * Queues the request into a thread executor and triggers associated callback when operation has finished. 368 */ 369 virtual void SendEventAsync(const Model::SendEventRequest& request, const SendEventResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 370 371 /** 372 * <p>Sends a message. Note that ConnectionToken is used for invoking this API 373 * instead of ParticipantToken.</p> <p>The Amazon Connect Participant 374 * Service APIs do not use <a 375 * href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature 376 * Version 4 authentication</a>.</p> <p><h3>See Also:</h3> <a 377 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/SendMessage">AWS 378 * API Reference</a></p> 379 */ 380 virtual Model::SendMessageOutcome SendMessage(const Model::SendMessageRequest& request) const; 381 382 /** 383 * <p>Sends a message. Note that ConnectionToken is used for invoking this API 384 * instead of ParticipantToken.</p> <p>The Amazon Connect Participant 385 * Service APIs do not use <a 386 * href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature 387 * Version 4 authentication</a>.</p> <p><h3>See Also:</h3> <a 388 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/SendMessage">AWS 389 * API Reference</a></p> 390 * 391 * returns a future to the operation so that it can be executed in parallel to other requests. 392 */ 393 virtual Model::SendMessageOutcomeCallable SendMessageCallable(const Model::SendMessageRequest& request) const; 394 395 /** 396 * <p>Sends a message. Note that ConnectionToken is used for invoking this API 397 * instead of ParticipantToken.</p> <p>The Amazon Connect Participant 398 * Service APIs do not use <a 399 * href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature 400 * Version 4 authentication</a>.</p> <p><h3>See Also:</h3> <a 401 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/SendMessage">AWS 402 * API Reference</a></p> 403 * 404 * Queues the request into a thread executor and triggers associated callback when operation has finished. 405 */ 406 virtual void SendMessageAsync(const Model::SendMessageRequest& request, const SendMessageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 407 408 /** 409 * <p>Provides a pre-signed Amazon S3 URL in response for uploading the file 410 * directly to S3.</p><p><h3>See Also:</h3> <a 411 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/StartAttachmentUpload">AWS 412 * API Reference</a></p> 413 */ 414 virtual Model::StartAttachmentUploadOutcome StartAttachmentUpload(const Model::StartAttachmentUploadRequest& request) const; 415 416 /** 417 * <p>Provides a pre-signed Amazon S3 URL in response for uploading the file 418 * directly to S3.</p><p><h3>See Also:</h3> <a 419 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/StartAttachmentUpload">AWS 420 * API Reference</a></p> 421 * 422 * returns a future to the operation so that it can be executed in parallel to other requests. 423 */ 424 virtual Model::StartAttachmentUploadOutcomeCallable StartAttachmentUploadCallable(const Model::StartAttachmentUploadRequest& request) const; 425 426 /** 427 * <p>Provides a pre-signed Amazon S3 URL in response for uploading the file 428 * directly to S3.</p><p><h3>See Also:</h3> <a 429 * href="http://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/StartAttachmentUpload">AWS 430 * API Reference</a></p> 431 * 432 * Queues the request into a thread executor and triggers associated callback when operation has finished. 433 */ 434 virtual void StartAttachmentUploadAsync(const Model::StartAttachmentUploadRequest& request, const StartAttachmentUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 435 436 437 void OverrideEndpoint(const Aws::String& endpoint); 438 private: 439 void init(const Aws::Client::ClientConfiguration& clientConfiguration); 440 void CompleteAttachmentUploadAsyncHelper(const Model::CompleteAttachmentUploadRequest& request, const CompleteAttachmentUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 441 void CreateParticipantConnectionAsyncHelper(const Model::CreateParticipantConnectionRequest& request, const CreateParticipantConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 442 void DisconnectParticipantAsyncHelper(const Model::DisconnectParticipantRequest& request, const DisconnectParticipantResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 443 void GetAttachmentAsyncHelper(const Model::GetAttachmentRequest& request, const GetAttachmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 444 void GetTranscriptAsyncHelper(const Model::GetTranscriptRequest& request, const GetTranscriptResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 445 void SendEventAsyncHelper(const Model::SendEventRequest& request, const SendEventResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 446 void SendMessageAsyncHelper(const Model::SendMessageRequest& request, const SendMessageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 447 void StartAttachmentUploadAsyncHelper(const Model::StartAttachmentUploadRequest& request, const StartAttachmentUploadResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 448 449 Aws::String m_uri; 450 Aws::String m_configScheme; 451 std::shared_ptr<Aws::Utils::Threading::Executor> m_executor; 452 }; 453 454 } // namespace ConnectParticipant 455 } // namespace Aws 456