7#include <aws/socialmessaging/SocialMessaging_EXPORTS.h>
8#include <aws/core/client/ClientConfiguration.h>
9#include <aws/core/client/AWSClient.h>
10#include <aws/core/client/AWSClientAsyncCRTP.h>
11#include <aws/core/utils/json/JsonSerializer.h>
12#include <aws/socialmessaging/SocialMessagingServiceClientModel.h>
16namespace SocialMessaging
74 std::shared_ptr<SocialMessagingEndpointProviderBase> endpointProvider =
nullptr);
81 std::shared_ptr<SocialMessagingEndpointProviderBase> endpointProvider =
nullptr,
89 std::shared_ptr<SocialMessagingEndpointProviderBase> endpointProvider =
nullptr,
129 template<
typename AssociateWhatsAppBusinessAccountRequestT = Model::AssociateWhatsAppBusinessAccountRequest>
132 return SubmitCallable(&SocialMessagingClient::AssociateWhatsAppBusinessAccount, request);
138 template<
typename AssociateWhatsAppBusinessAccountRequestT = Model::AssociateWhatsAppBusinessAccountRequest>
141 return SubmitAsync(&SocialMessagingClient::AssociateWhatsAppBusinessAccount, request, handler, context);
156 template<
typename DeleteWhatsAppMessageMediaRequestT = Model::DeleteWhatsAppMessageMediaRequest>
159 return SubmitCallable(&SocialMessagingClient::DeleteWhatsAppMessageMedia, request);
165 template<
typename DeleteWhatsAppMessageMediaRequestT = Model::DeleteWhatsAppMessageMediaRequest>
168 return SubmitAsync(&SocialMessagingClient::DeleteWhatsAppMessageMedia, request, handler, context);
182 template<
typename DisassociateWhatsAppBusinessAccountRequestT = Model::DisassociateWhatsAppBusinessAccountRequest>
185 return SubmitCallable(&SocialMessagingClient::DisassociateWhatsAppBusinessAccount, request);
191 template<
typename DisassociateWhatsAppBusinessAccountRequestT = Model::DisassociateWhatsAppBusinessAccountRequest>
194 return SubmitAsync(&SocialMessagingClient::DisassociateWhatsAppBusinessAccount, request, handler, context);
208 template<
typename GetLinkedWhatsAppBusinessAccountRequestT = Model::GetLinkedWhatsAppBusinessAccountRequest>
211 return SubmitCallable(&SocialMessagingClient::GetLinkedWhatsAppBusinessAccount, request);
217 template<
typename GetLinkedWhatsAppBusinessAccountRequestT = Model::GetLinkedWhatsAppBusinessAccountRequest>
220 return SubmitAsync(&SocialMessagingClient::GetLinkedWhatsAppBusinessAccount, request, handler, context);
234 template<
typename GetLinkedWhatsAppBusinessAccountPhoneNumberRequestT = Model::GetLinkedWhatsAppBusinessAccountPhoneNumberRequest>
237 return SubmitCallable(&SocialMessagingClient::GetLinkedWhatsAppBusinessAccountPhoneNumber, request);
243 template<
typename GetLinkedWhatsAppBusinessAccountPhoneNumberRequestT = Model::GetLinkedWhatsAppBusinessAccountPhoneNumberRequest>
246 return SubmitAsync(&SocialMessagingClient::GetLinkedWhatsAppBusinessAccountPhoneNumber, request, handler, context);
264 template<
typename GetWhatsAppMessageMediaRequestT = Model::GetWhatsAppMessageMediaRequest>
267 return SubmitCallable(&SocialMessagingClient::GetWhatsAppMessageMedia, request);
273 template<
typename GetWhatsAppMessageMediaRequestT = Model::GetWhatsAppMessageMediaRequest>
276 return SubmitAsync(&SocialMessagingClient::GetWhatsAppMessageMedia, request, handler, context);
290 template<
typename ListLinkedWhatsAppBusinessAccountsRequestT = Model::ListLinkedWhatsAppBusinessAccountsRequest>
293 return SubmitCallable(&SocialMessagingClient::ListLinkedWhatsAppBusinessAccounts, request);
299 template<
typename ListLinkedWhatsAppBusinessAccountsRequestT = Model::ListLinkedWhatsAppBusinessAccountsRequest>
302 return SubmitAsync(&SocialMessagingClient::ListLinkedWhatsAppBusinessAccounts, request, handler, context);
316 template<
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
319 return SubmitCallable(&SocialMessagingClient::ListTagsForResource, request);
325 template<
typename ListTagsForResourceRequestT = Model::ListTagsForResourceRequest>
328 return SubmitAsync(&SocialMessagingClient::ListTagsForResource, request, handler, context);
348 template<
typename PostWhatsAppMessageMediaRequestT = Model::PostWhatsAppMessageMediaRequest>
351 return SubmitCallable(&SocialMessagingClient::PostWhatsAppMessageMedia, request);
357 template<
typename PostWhatsAppMessageMediaRequestT = Model::PostWhatsAppMessageMediaRequest>
360 return SubmitAsync(&SocialMessagingClient::PostWhatsAppMessageMedia, request, handler, context);
376 template<
typename PutWhatsAppBusinessAccountEventDestinationsRequestT = Model::PutWhatsAppBusinessAccountEventDestinationsRequest>
379 return SubmitCallable(&SocialMessagingClient::PutWhatsAppBusinessAccountEventDestinations, request);
385 template<
typename PutWhatsAppBusinessAccountEventDestinationsRequestT = Model::PutWhatsAppBusinessAccountEventDestinationsRequest>
388 return SubmitAsync(&SocialMessagingClient::PutWhatsAppBusinessAccountEventDestinations, request, handler, context);
405 template<
typename SendWhatsAppMessageRequestT = Model::SendWhatsAppMessageRequest>
408 return SubmitCallable(&SocialMessagingClient::SendWhatsAppMessage, request);
414 template<
typename SendWhatsAppMessageRequestT = Model::SendWhatsAppMessageRequest>
417 return SubmitAsync(&SocialMessagingClient::SendWhatsAppMessage, request, handler, context);
432 template<
typename TagResourceRequestT = Model::TagResourceRequest>
435 return SubmitCallable(&SocialMessagingClient::TagResource, request);
441 template<
typename TagResourceRequestT = Model::TagResourceRequest>
444 return SubmitAsync(&SocialMessagingClient::TagResource, request, handler, context);
457 template<
typename UntagResourceRequestT = Model::UntagResourceRequest>
460 return SubmitCallable(&SocialMessagingClient::UntagResource, request);
466 template<
typename UntagResourceRequestT = Model::UntagResourceRequest>
469 return SubmitAsync(&SocialMessagingClient::UntagResource, request, handler, context);
480 std::shared_ptr<SocialMessagingEndpointProviderBase> m_endpointProvider;
virtual Model::GetLinkedWhatsAppBusinessAccountOutcome GetLinkedWhatsAppBusinessAccount(const Model::GetLinkedWhatsAppBusinessAccountRequest &request) const
Model::PutWhatsAppBusinessAccountEventDestinationsOutcomeCallable PutWhatsAppBusinessAccountEventDestinationsCallable(const PutWhatsAppBusinessAccountEventDestinationsRequestT &request) const
void SendWhatsAppMessageAsync(const SendWhatsAppMessageRequestT &request, const SendWhatsAppMessageResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::GetLinkedWhatsAppBusinessAccountPhoneNumberOutcome GetLinkedWhatsAppBusinessAccountPhoneNumber(const Model::GetLinkedWhatsAppBusinessAccountPhoneNumberRequest &request) const
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest &request) const
void GetWhatsAppMessageMediaAsync(const GetWhatsAppMessageMediaRequestT &request, const GetWhatsAppMessageMediaResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::DisassociateWhatsAppBusinessAccountOutcomeCallable DisassociateWhatsAppBusinessAccountCallable(const DisassociateWhatsAppBusinessAccountRequestT &request) const
SocialMessagingEndpointProvider EndpointProviderType
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT &request) const
void PostWhatsAppMessageMediaAsync(const PostWhatsAppMessageMediaRequestT &request, const PostWhatsAppMessageMediaResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::ListLinkedWhatsAppBusinessAccountsOutcomeCallable ListLinkedWhatsAppBusinessAccountsCallable(const ListLinkedWhatsAppBusinessAccountsRequestT &request={}) const
Model::SendWhatsAppMessageOutcomeCallable SendWhatsAppMessageCallable(const SendWhatsAppMessageRequestT &request) const
virtual Model::ListLinkedWhatsAppBusinessAccountsOutcome ListLinkedWhatsAppBusinessAccounts(const Model::ListLinkedWhatsAppBusinessAccountsRequest &request={}) const
Model::GetWhatsAppMessageMediaOutcomeCallable GetWhatsAppMessageMediaCallable(const GetWhatsAppMessageMediaRequestT &request) const
void DisassociateWhatsAppBusinessAccountAsync(const DisassociateWhatsAppBusinessAccountRequestT &request, const DisassociateWhatsAppBusinessAccountResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::Client::AWSJsonClient BASECLASS
virtual Model::AssociateWhatsAppBusinessAccountOutcome AssociateWhatsAppBusinessAccount(const Model::AssociateWhatsAppBusinessAccountRequest &request={}) const
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT &request) const
virtual Model::DisassociateWhatsAppBusinessAccountOutcome DisassociateWhatsAppBusinessAccount(const Model::DisassociateWhatsAppBusinessAccountRequest &request) const
virtual Model::GetWhatsAppMessageMediaOutcome GetWhatsAppMessageMedia(const Model::GetWhatsAppMessageMediaRequest &request) const
void ListLinkedWhatsAppBusinessAccountsAsync(const ListLinkedWhatsAppBusinessAccountsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const ListLinkedWhatsAppBusinessAccountsRequestT &request={}) const
virtual Model::SendWhatsAppMessageOutcome SendWhatsAppMessage(const Model::SendWhatsAppMessageRequest &request) const
SocialMessagingClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration)
void DeleteWhatsAppMessageMediaAsync(const DeleteWhatsAppMessageMediaRequestT &request, const DeleteWhatsAppMessageMediaResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
SocialMessagingClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration)
SocialMessagingClientConfiguration ClientConfigurationType
SocialMessagingClient(const Aws::SocialMessaging::SocialMessagingClientConfiguration &clientConfiguration=Aws::SocialMessaging::SocialMessagingClientConfiguration(), std::shared_ptr< SocialMessagingEndpointProviderBase > endpointProvider=nullptr)
virtual Model::DeleteWhatsAppMessageMediaOutcome DeleteWhatsAppMessageMedia(const Model::DeleteWhatsAppMessageMediaRequest &request) const
void PutWhatsAppBusinessAccountEventDestinationsAsync(const PutWhatsAppBusinessAccountEventDestinationsRequestT &request, const PutWhatsAppBusinessAccountEventDestinationsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::AssociateWhatsAppBusinessAccountOutcomeCallable AssociateWhatsAppBusinessAccountCallable(const AssociateWhatsAppBusinessAccountRequestT &request={}) const
static const char * GetAllocationTag()
std::shared_ptr< SocialMessagingEndpointProviderBase > & accessEndpointProvider()
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest &request) const
Model::GetLinkedWhatsAppBusinessAccountPhoneNumberOutcomeCallable GetLinkedWhatsAppBusinessAccountPhoneNumberCallable(const GetLinkedWhatsAppBusinessAccountPhoneNumberRequestT &request) const
static const char * GetServiceName()
void AssociateWhatsAppBusinessAccountAsync(const AssociateWhatsAppBusinessAccountResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const AssociateWhatsAppBusinessAccountRequestT &request={}) const
void GetLinkedWhatsAppBusinessAccountAsync(const GetLinkedWhatsAppBusinessAccountRequestT &request, const GetLinkedWhatsAppBusinessAccountResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
SocialMessagingClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, std::shared_ptr< SocialMessagingEndpointProviderBase > endpointProvider=nullptr, const Aws::SocialMessaging::SocialMessagingClientConfiguration &clientConfiguration=Aws::SocialMessaging::SocialMessagingClientConfiguration())
void TagResourceAsync(const TagResourceRequestT &request, const TagResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest &request) const
SocialMessagingClient(const Aws::Client::ClientConfiguration &clientConfiguration)
virtual Model::PutWhatsAppBusinessAccountEventDestinationsOutcome PutWhatsAppBusinessAccountEventDestinations(const Model::PutWhatsAppBusinessAccountEventDestinationsRequest &request) const
virtual Model::PostWhatsAppMessageMediaOutcome PostWhatsAppMessageMedia(const Model::PostWhatsAppMessageMediaRequest &request) const
void GetLinkedWhatsAppBusinessAccountPhoneNumberAsync(const GetLinkedWhatsAppBusinessAccountPhoneNumberRequestT &request, const GetLinkedWhatsAppBusinessAccountPhoneNumberResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void UntagResourceAsync(const UntagResourceRequestT &request, const UntagResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::DeleteWhatsAppMessageMediaOutcomeCallable DeleteWhatsAppMessageMediaCallable(const DeleteWhatsAppMessageMediaRequestT &request) const
SocialMessagingClient(const Aws::Auth::AWSCredentials &credentials, std::shared_ptr< SocialMessagingEndpointProviderBase > endpointProvider=nullptr, const Aws::SocialMessaging::SocialMessagingClientConfiguration &clientConfiguration=Aws::SocialMessaging::SocialMessagingClientConfiguration())
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT &request) const
Model::PostWhatsAppMessageMediaOutcomeCallable PostWhatsAppMessageMediaCallable(const PostWhatsAppMessageMediaRequestT &request) const
Model::GetLinkedWhatsAppBusinessAccountOutcomeCallable GetLinkedWhatsAppBusinessAccountCallable(const GetLinkedWhatsAppBusinessAccountRequestT &request) const
virtual ~SocialMessagingClient()
void OverrideEndpoint(const Aws::String &endpoint)
void ListTagsForResourceAsync(const ListTagsForResourceRequestT &request, const ListTagsForResourceResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
std::future< GetLinkedWhatsAppBusinessAccountOutcome > GetLinkedWhatsAppBusinessAccountOutcomeCallable
std::future< PostWhatsAppMessageMediaOutcome > PostWhatsAppMessageMediaOutcomeCallable
std::future< UntagResourceOutcome > UntagResourceOutcomeCallable
std::future< ListTagsForResourceOutcome > ListTagsForResourceOutcomeCallable
std::future< GetLinkedWhatsAppBusinessAccountPhoneNumberOutcome > GetLinkedWhatsAppBusinessAccountPhoneNumberOutcomeCallable
std::future< AssociateWhatsAppBusinessAccountOutcome > AssociateWhatsAppBusinessAccountOutcomeCallable
std::future< DeleteWhatsAppMessageMediaOutcome > DeleteWhatsAppMessageMediaOutcomeCallable
std::future< PutWhatsAppBusinessAccountEventDestinationsOutcome > PutWhatsAppBusinessAccountEventDestinationsOutcomeCallable
std::future< GetWhatsAppMessageMediaOutcome > GetWhatsAppMessageMediaOutcomeCallable
std::future< TagResourceOutcome > TagResourceOutcomeCallable
std::future< DisassociateWhatsAppBusinessAccountOutcome > DisassociateWhatsAppBusinessAccountOutcomeCallable
std::future< ListLinkedWhatsAppBusinessAccountsOutcome > ListLinkedWhatsAppBusinessAccountsOutcomeCallable
std::future< SendWhatsAppMessageOutcome > SendWhatsAppMessageOutcomeCallable
std::function< void(const SocialMessagingClient *, const Model::GetLinkedWhatsAppBusinessAccountRequest &, const Model::GetLinkedWhatsAppBusinessAccountOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetLinkedWhatsAppBusinessAccountResponseReceivedHandler
std::function< void(const SocialMessagingClient *, const Model::TagResourceRequest &, const Model::TagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > TagResourceResponseReceivedHandler
std::function< void(const SocialMessagingClient *, const Model::GetWhatsAppMessageMediaRequest &, const Model::GetWhatsAppMessageMediaOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetWhatsAppMessageMediaResponseReceivedHandler
std::function< void(const SocialMessagingClient *, const Model::SendWhatsAppMessageRequest &, const Model::SendWhatsAppMessageOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > SendWhatsAppMessageResponseReceivedHandler
std::function< void(const SocialMessagingClient *, const Model::PutWhatsAppBusinessAccountEventDestinationsRequest &, const Model::PutWhatsAppBusinessAccountEventDestinationsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutWhatsAppBusinessAccountEventDestinationsResponseReceivedHandler
std::function< void(const SocialMessagingClient *, const Model::AssociateWhatsAppBusinessAccountRequest &, const Model::AssociateWhatsAppBusinessAccountOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > AssociateWhatsAppBusinessAccountResponseReceivedHandler
std::function< void(const SocialMessagingClient *, const Model::GetLinkedWhatsAppBusinessAccountPhoneNumberRequest &, const Model::GetLinkedWhatsAppBusinessAccountPhoneNumberOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetLinkedWhatsAppBusinessAccountPhoneNumberResponseReceivedHandler
std::function< void(const SocialMessagingClient *, const Model::UntagResourceRequest &, const Model::UntagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UntagResourceResponseReceivedHandler
std::function< void(const SocialMessagingClient *, const Model::PostWhatsAppMessageMediaRequest &, const Model::PostWhatsAppMessageMediaOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PostWhatsAppMessageMediaResponseReceivedHandler
std::function< void(const SocialMessagingClient *, const Model::ListTagsForResourceRequest &, const Model::ListTagsForResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListTagsForResourceResponseReceivedHandler
std::function< void(const SocialMessagingClient *, const Model::DeleteWhatsAppMessageMediaRequest &, const Model::DeleteWhatsAppMessageMediaOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteWhatsAppMessageMediaResponseReceivedHandler
std::function< void(const SocialMessagingClient *, const Model::DisassociateWhatsAppBusinessAccountRequest &, const Model::DisassociateWhatsAppBusinessAccountOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DisassociateWhatsAppBusinessAccountResponseReceivedHandler
std::function< void(const SocialMessagingClient *, const Model::ListLinkedWhatsAppBusinessAccountsRequest &, const Model::ListLinkedWhatsAppBusinessAccountsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListLinkedWhatsAppBusinessAccountsResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String