AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
LexRuntimeServiceClient.h
1
6#pragma once
7#include <aws/core/client/AWSClient.h>
8#include <aws/core/client/AWSClientAsyncCRTP.h>
9#include <aws/core/client/ClientConfiguration.h>
10#include <aws/core/utils/json/JsonSerializer.h>
11#include <aws/lex/LexRuntimeServiceServiceClientModel.h>
12#include <aws/lex/LexRuntimeService_EXPORTS.h>
13
14namespace Aws {
15namespace LexRuntimeService {
29class AWS_LEXRUNTIMESERVICE_API LexRuntimeServiceClient : public Aws::Client::AWSJsonClient,
30 public Aws::Client::ClientWithAsyncTemplateMethods<LexRuntimeServiceClient> {
31 public:
33 static const char* GetServiceName();
34 static const char* GetAllocationTag();
35
38
45 std::shared_ptr<LexRuntimeServiceEndpointProviderBase> endpointProvider = nullptr);
46
52 std::shared_ptr<LexRuntimeServiceEndpointProviderBase> endpointProvider = nullptr,
55
60 LexRuntimeServiceClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
61 std::shared_ptr<LexRuntimeServiceEndpointProviderBase> endpointProvider = nullptr,
64
65 /* Legacy constructors due deprecation */
71
77
82 LexRuntimeServiceClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
83 const Aws::Client::ClientConfiguration& clientConfiguration);
84
85 /* End of legacy constructors due deprecation */
87
95
99 template <typename DeleteSessionRequestT = Model::DeleteSessionRequest>
100 Model::DeleteSessionOutcomeCallable DeleteSessionCallable(const DeleteSessionRequestT& request) const {
101 return SubmitCallable(&LexRuntimeServiceClient::DeleteSession, request);
102 }
103
108 template <typename DeleteSessionRequestT = Model::DeleteSessionRequest>
109 void DeleteSessionAsync(const DeleteSessionRequestT& request, const DeleteSessionResponseReceivedHandler& handler,
110 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
111 return SubmitAsync(&LexRuntimeServiceClient::DeleteSession, request, handler, context);
112 }
113
121
125 template <typename GetSessionRequestT = Model::GetSessionRequest>
126 Model::GetSessionOutcomeCallable GetSessionCallable(const GetSessionRequestT& request) const {
127 return SubmitCallable(&LexRuntimeServiceClient::GetSession, request);
128 }
129
134 template <typename GetSessionRequestT = Model::GetSessionRequest>
135 void GetSessionAsync(const GetSessionRequestT& request, const GetSessionResponseReceivedHandler& handler,
136 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
137 return SubmitAsync(&LexRuntimeServiceClient::GetSession, request, handler, context);
138 }
139
184
188 template <typename PostContentRequestT = Model::PostContentRequest>
189 Model::PostContentOutcomeCallable PostContentCallable(const PostContentRequestT& request) const {
190 return SubmitCallable(&LexRuntimeServiceClient::PostContent, request);
191 }
192
197 template <typename PostContentRequestT = Model::PostContentRequest>
198 void PostContentAsync(const PostContentRequestT& request, const PostContentResponseReceivedHandler& handler,
199 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
200 return SubmitAsync(&LexRuntimeServiceClient::PostContent, request, handler, context);
201 }
202
244
248 template <typename PostTextRequestT = Model::PostTextRequest>
249 Model::PostTextOutcomeCallable PostTextCallable(const PostTextRequestT& request) const {
250 return SubmitCallable(&LexRuntimeServiceClient::PostText, request);
251 }
252
257 template <typename PostTextRequestT = Model::PostTextRequest>
258 void PostTextAsync(const PostTextRequestT& request, const PostTextResponseReceivedHandler& handler,
259 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
260 return SubmitAsync(&LexRuntimeServiceClient::PostText, request, handler, context);
261 }
262
273
277 template <typename PutSessionRequestT = Model::PutSessionRequest>
278 Model::PutSessionOutcomeCallable PutSessionCallable(const PutSessionRequestT& request) const {
279 return SubmitCallable(&LexRuntimeServiceClient::PutSession, request);
280 }
281
286 template <typename PutSessionRequestT = Model::PutSessionRequest>
287 void PutSessionAsync(const PutSessionRequestT& request, const PutSessionResponseReceivedHandler& handler,
288 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
289 return SubmitAsync(&LexRuntimeServiceClient::PutSession, request, handler, context);
290 }
291
292 void OverrideEndpoint(const Aws::String& endpoint);
293 std::shared_ptr<LexRuntimeServiceEndpointProviderBase>& accessEndpointProvider();
294
295 private:
297 void init(const LexRuntimeServiceClientConfiguration& clientConfiguration);
298
299 LexRuntimeServiceClientConfiguration m_clientConfiguration;
300 std::shared_ptr<LexRuntimeServiceEndpointProviderBase> m_endpointProvider;
301};
302
303} // namespace LexRuntimeService
304} // namespace Aws
Model::PutSessionOutcomeCallable PutSessionCallable(const PutSessionRequestT &request) const
virtual Model::PostTextOutcome PostText(const Model::PostTextRequest &request) const
Model::GetSessionOutcomeCallable GetSessionCallable(const GetSessionRequestT &request) const
Model::DeleteSessionOutcomeCallable DeleteSessionCallable(const DeleteSessionRequestT &request) const
LexRuntimeServiceClient(const Aws::LexRuntimeService::LexRuntimeServiceClientConfiguration &clientConfiguration=Aws::LexRuntimeService::LexRuntimeServiceClientConfiguration(), std::shared_ptr< LexRuntimeServiceEndpointProviderBase > endpointProvider=nullptr)
Model::PostContentOutcomeCallable PostContentCallable(const PostContentRequestT &request) const
LexRuntimeServiceClient(const Aws::Auth::AWSCredentials &credentials, std::shared_ptr< LexRuntimeServiceEndpointProviderBase > endpointProvider=nullptr, const Aws::LexRuntimeService::LexRuntimeServiceClientConfiguration &clientConfiguration=Aws::LexRuntimeService::LexRuntimeServiceClientConfiguration())
void GetSessionAsync(const GetSessionRequestT &request, const GetSessionResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
LexRuntimeServiceClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration)
std::shared_ptr< LexRuntimeServiceEndpointProviderBase > & accessEndpointProvider()
LexRuntimeServiceClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, std::shared_ptr< LexRuntimeServiceEndpointProviderBase > endpointProvider=nullptr, const Aws::LexRuntimeService::LexRuntimeServiceClientConfiguration &clientConfiguration=Aws::LexRuntimeService::LexRuntimeServiceClientConfiguration())
void PutSessionAsync(const PutSessionRequestT &request, const PutSessionResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
LexRuntimeServiceEndpointProvider EndpointProviderType
LexRuntimeServiceClient(const Aws::Client::ClientConfiguration &clientConfiguration)
void OverrideEndpoint(const Aws::String &endpoint)
virtual Model::GetSessionOutcome GetSession(const Model::GetSessionRequest &request) const
virtual Model::PutSessionOutcome PutSession(const Model::PutSessionRequest &request) const
void PostTextAsync(const PostTextRequestT &request, const PostTextResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
LexRuntimeServiceClientConfiguration ClientConfigurationType
virtual Model::DeleteSessionOutcome DeleteSession(const Model::DeleteSessionRequest &request) const
Model::PostTextOutcomeCallable PostTextCallable(const PostTextRequestT &request) const
void PostContentAsync(const PostContentRequestT &request, const PostContentResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::PostContentOutcome PostContent(const Model::PostContentRequest &request) const
LexRuntimeServiceClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration)
void DeleteSessionAsync(const DeleteSessionRequestT &request, const DeleteSessionResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
std::future< PutSessionOutcome > PutSessionOutcomeCallable
std::future< PostTextOutcome > PostTextOutcomeCallable
std::future< DeleteSessionOutcome > DeleteSessionOutcomeCallable
std::future< PostContentOutcome > PostContentOutcomeCallable
std::future< GetSessionOutcome > GetSessionOutcomeCallable
std::function< void(const LexRuntimeServiceClient *, const Model::PostTextRequest &, const Model::PostTextOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> PostTextResponseReceivedHandler
std::function< void(const LexRuntimeServiceClient *, const Model::PutSessionRequest &, Model::PutSessionOutcome, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> PutSessionResponseReceivedHandler
std::function< void(const LexRuntimeServiceClient *, const Model::GetSessionRequest &, const Model::GetSessionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> GetSessionResponseReceivedHandler
std::function< void(const LexRuntimeServiceClient *, const Model::PostContentRequest &, Model::PostContentOutcome, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> PostContentResponseReceivedHandler
std::function< void(const LexRuntimeServiceClient *, const Model::DeleteSessionRequest &, const Model::DeleteSessionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> DeleteSessionResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String