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/iot-data/IoTDataPlanePaginationBase.h>
12#include <aws/iot-data/IoTDataPlaneServiceClientModel.h>
13#include <aws/iot-data/IoTDataPlaneWaiter.h>
14#include <aws/iot-data/IoTDataPlane_EXPORTS.h>
17namespace IoTDataPlane {
50 std::shared_ptr<IoTDataPlaneEndpointProviderBase> endpointProvider =
nullptr);
57 const Aws::Auth::AWSCredentials& credentials, std::shared_ptr<IoTDataPlaneEndpointProviderBase> endpointProvider =
nullptr,
65 const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
66 std::shared_ptr<IoTDataPlaneEndpointProviderBase> endpointProvider =
nullptr,
86 IoTDataPlaneClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
108 template <
typename DeleteConnectionRequestT = Model::DeleteConnectionRequest>
110 return SubmitCallable(&IoTDataPlaneClient::DeleteConnection, request);
117 template <
typename DeleteConnectionRequestT = Model::DeleteConnectionRequest>
119 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
120 return SubmitAsync(&IoTDataPlaneClient::DeleteConnection, request, handler, context);
139 template <
typename DeleteThingShadowRequestT = Model::DeleteThingShadowRequest>
141 return SubmitCallable(&IoTDataPlaneClient::DeleteThingShadow, request);
148 template <
typename DeleteThingShadowRequestT = Model::DeleteThingShadowRequest>
150 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
151 return SubmitAsync(&IoTDataPlaneClient::DeleteThingShadow, request, handler, context);
167 template <
typename GetConnectionRequestT = Model::GetConnectionRequest>
169 return SubmitCallable(&IoTDataPlaneClient::GetConnection, request);
176 template <
typename GetConnectionRequestT = Model::GetConnectionRequest>
178 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
179 return SubmitAsync(&IoTDataPlaneClient::GetConnection, request, handler, context);
202 template <
typename GetRetainedMessageRequestT = Model::GetRetainedMessageRequest>
204 return SubmitCallable(&IoTDataPlaneClient::GetRetainedMessage, request);
211 template <
typename GetRetainedMessageRequestT = Model::GetRetainedMessageRequest>
213 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
214 return SubmitAsync(&IoTDataPlaneClient::GetRetainedMessage, request, handler, context);
232 template <
typename GetThingShadowRequestT = Model::GetThingShadowRequest>
234 return SubmitCallable(&IoTDataPlaneClient::GetThingShadow, request);
241 template <
typename GetThingShadowRequestT = Model::GetThingShadowRequest>
243 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
244 return SubmitAsync(&IoTDataPlaneClient::GetThingShadow, request, handler, context);
261 template <
typename ListNamedShadowsForThingRequestT = Model::ListNamedShadowsForThingRequest>
263 return SubmitCallable(&IoTDataPlaneClient::ListNamedShadowsForThing, request);
270 template <
typename ListNamedShadowsForThingRequestT = Model::ListNamedShadowsForThingRequest>
273 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
274 return SubmitAsync(&IoTDataPlaneClient::ListNamedShadowsForThing, request, handler, context);
299 template <
typename ListRetainedMessagesRequestT = Model::ListRetainedMessagesRequest>
301 return SubmitCallable(&IoTDataPlaneClient::ListRetainedMessages, request);
308 template <
typename ListRetainedMessagesRequestT = Model::ListRetainedMessagesRequest>
310 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr,
311 const ListRetainedMessagesRequestT& request = {})
const {
312 return SubmitAsync(&IoTDataPlaneClient::ListRetainedMessages, request, handler, context);
330 template <
typename ListSubscriptionsRequestT = Model::ListSubscriptionsRequest>
332 return SubmitCallable(&IoTDataPlaneClient::ListSubscriptions, request);
339 template <
typename ListSubscriptionsRequestT = Model::ListSubscriptionsRequest>
341 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
342 return SubmitAsync(&IoTDataPlaneClient::ListSubscriptions, request, handler, context);
362 template <
typename PublishRequestT = Model::PublishRequest>
364 return SubmitCallable(&IoTDataPlaneClient::Publish, request);
371 template <
typename PublishRequestT = Model::PublishRequest>
373 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
374 return SubmitAsync(&IoTDataPlaneClient::Publish, request, handler, context);
396 template <
typename SendDirectMessageRequestT = Model::SendDirectMessageRequest>
398 return SubmitCallable(&IoTDataPlaneClient::SendDirectMessage, request);
405 template <
typename SendDirectMessageRequestT = Model::SendDirectMessageRequest>
407 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
408 return SubmitAsync(&IoTDataPlaneClient::SendDirectMessage, request, handler, context);
427 template <
typename UpdateThingShadowRequestT = Model::UpdateThingShadowRequest>
429 return SubmitCallable(&IoTDataPlaneClient::UpdateThingShadow, request);
436 template <
typename UpdateThingShadowRequestT = Model::UpdateThingShadowRequest>
438 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
439 return SubmitAsync(&IoTDataPlaneClient::UpdateThingShadow, request, handler, context);
456 std::shared_ptr<IoTDataPlaneEndpointProviderBase> m_endpointProvider;
void ListRetainedMessagesAsync(const ListRetainedMessagesResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const ListRetainedMessagesRequestT &request={}) const
void ListNamedShadowsForThingAsync(const ListNamedShadowsForThingRequestT &request, const ListNamedShadowsForThingResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::ListRetainedMessagesOutcome ListRetainedMessages(const Model::ListRetainedMessagesRequest &request={}) const
virtual ~IoTDataPlaneClient()
IoTDataPlaneEndpointProvider EndpointProviderType
virtual Model::SendDirectMessageOutcome SendDirectMessage(const Model::SendDirectMessageRequest &request) const
virtual Model::GetThingShadowOutcome GetThingShadow(const Model::GetThingShadowRequest &request) const
Model::ListRetainedMessagesOutcomeCallable ListRetainedMessagesCallable(const ListRetainedMessagesRequestT &request={}) const
static const char * GetAllocationTag()
Model::ListNamedShadowsForThingOutcomeCallable ListNamedShadowsForThingCallable(const ListNamedShadowsForThingRequestT &request) const
void SendDirectMessageAsync(const SendDirectMessageRequestT &request, const SendDirectMessageResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual void OverrideEndpoint(const Aws::String &endpoint)
IoTDataPlaneClient(const Aws::Auth::AWSCredentials &credentials, std::shared_ptr< IoTDataPlaneEndpointProviderBase > endpointProvider=nullptr, const Aws::IoTDataPlane::IoTDataPlaneClientConfiguration &clientConfiguration=Aws::IoTDataPlane::IoTDataPlaneClientConfiguration())
IoTDataPlaneClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, std::shared_ptr< IoTDataPlaneEndpointProviderBase > endpointProvider=nullptr, const Aws::IoTDataPlane::IoTDataPlaneClientConfiguration &clientConfiguration=Aws::IoTDataPlane::IoTDataPlaneClientConfiguration())
Model::UpdateThingShadowOutcomeCallable UpdateThingShadowCallable(const UpdateThingShadowRequestT &request) const
virtual Model::DeleteThingShadowOutcome DeleteThingShadow(const Model::DeleteThingShadowRequest &request) const
virtual Model::UpdateThingShadowOutcome UpdateThingShadow(const Model::UpdateThingShadowRequest &request) const
virtual Model::ListSubscriptionsOutcome ListSubscriptions(const Model::ListSubscriptionsRequest &request) const
void GetThingShadowAsync(const GetThingShadowRequestT &request, const GetThingShadowResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::DeleteThingShadowOutcomeCallable DeleteThingShadowCallable(const DeleteThingShadowRequestT &request) const
Model::ListSubscriptionsOutcomeCallable ListSubscriptionsCallable(const ListSubscriptionsRequestT &request) const
IoTDataPlaneClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration)
virtual Model::DeleteConnectionOutcome DeleteConnection(const Model::DeleteConnectionRequest &request) const
void ListSubscriptionsAsync(const ListSubscriptionsRequestT &request, const ListSubscriptionsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void UpdateThingShadowAsync(const UpdateThingShadowRequestT &request, const UpdateThingShadowResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void DeleteConnectionAsync(const DeleteConnectionRequestT &request, const DeleteConnectionResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
IoTDataPlaneClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration)
virtual Model::ListNamedShadowsForThingOutcome ListNamedShadowsForThing(const Model::ListNamedShadowsForThingRequest &request) const
static const char * GetServiceName()
void DeleteThingShadowAsync(const DeleteThingShadowRequestT &request, const DeleteThingShadowResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
IoTDataPlaneClientConfiguration ClientConfigurationType
IoTDataPlaneClient(const Aws::Client::ClientConfiguration &clientConfiguration)
Model::PublishOutcomeCallable PublishCallable(const PublishRequestT &request) const
void GetRetainedMessageAsync(const GetRetainedMessageRequestT &request, const GetRetainedMessageResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::Client::AWSJsonClient BASECLASS
Model::DeleteConnectionOutcomeCallable DeleteConnectionCallable(const DeleteConnectionRequestT &request) const
void GetConnectionAsync(const GetConnectionRequestT &request, const GetConnectionResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::PublishOutcome Publish(const Model::PublishRequest &request) const
IoTDataPlaneClient(const Aws::IoTDataPlane::IoTDataPlaneClientConfiguration &clientConfiguration=Aws::IoTDataPlane::IoTDataPlaneClientConfiguration(), std::shared_ptr< IoTDataPlaneEndpointProviderBase > endpointProvider=nullptr)
virtual Model::GetConnectionOutcome GetConnection(const Model::GetConnectionRequest &request) const
void PublishAsync(const PublishRequestT &request, const PublishResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::GetRetainedMessageOutcomeCallable GetRetainedMessageCallable(const GetRetainedMessageRequestT &request) const
Model::SendDirectMessageOutcomeCallable SendDirectMessageCallable(const SendDirectMessageRequestT &request) const
Model::GetThingShadowOutcomeCallable GetThingShadowCallable(const GetThingShadowRequestT &request) const
Model::GetConnectionOutcomeCallable GetConnectionCallable(const GetConnectionRequestT &request) const
virtual std::shared_ptr< IoTDataPlaneEndpointProviderBase > & accessEndpointProvider()
virtual Model::GetRetainedMessageOutcome GetRetainedMessage(const Model::GetRetainedMessageRequest &request) const
std::future< GetConnectionOutcome > GetConnectionOutcomeCallable
std::future< DeleteThingShadowOutcome > DeleteThingShadowOutcomeCallable
std::future< ListRetainedMessagesOutcome > ListRetainedMessagesOutcomeCallable
std::future< UpdateThingShadowOutcome > UpdateThingShadowOutcomeCallable
std::future< ListSubscriptionsOutcome > ListSubscriptionsOutcomeCallable
std::future< GetThingShadowOutcome > GetThingShadowOutcomeCallable
std::future< SendDirectMessageOutcome > SendDirectMessageOutcomeCallable
std::future< PublishOutcome > PublishOutcomeCallable
std::future< DeleteConnectionOutcome > DeleteConnectionOutcomeCallable
std::future< GetRetainedMessageOutcome > GetRetainedMessageOutcomeCallable
std::future< ListNamedShadowsForThingOutcome > ListNamedShadowsForThingOutcomeCallable
std::function< void(const IoTDataPlaneClient *, const Model::ListSubscriptionsRequest &, const Model::ListSubscriptionsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ListSubscriptionsResponseReceivedHandler
std::function< void(const IoTDataPlaneClient *, const Model::SendDirectMessageRequest &, const Model::SendDirectMessageOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> SendDirectMessageResponseReceivedHandler
std::function< void(const IoTDataPlaneClient *, const Model::GetRetainedMessageRequest &, const Model::GetRetainedMessageOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> GetRetainedMessageResponseReceivedHandler
std::function< void(const IoTDataPlaneClient *, const Model::GetConnectionRequest &, const Model::GetConnectionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> GetConnectionResponseReceivedHandler
std::function< void(const IoTDataPlaneClient *, const Model::ListRetainedMessagesRequest &, const Model::ListRetainedMessagesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ListRetainedMessagesResponseReceivedHandler
std::function< void(const IoTDataPlaneClient *, const Model::DeleteThingShadowRequest &, Model::DeleteThingShadowOutcome, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> DeleteThingShadowResponseReceivedHandler
std::function< void(const IoTDataPlaneClient *, const Model::UpdateThingShadowRequest &, Model::UpdateThingShadowOutcome, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> UpdateThingShadowResponseReceivedHandler
std::function< void(const IoTDataPlaneClient *, const Model::GetThingShadowRequest &, Model::GetThingShadowOutcome, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> GetThingShadowResponseReceivedHandler
std::function< void(const IoTDataPlaneClient *, const Model::ListNamedShadowsForThingRequest &, const Model::ListNamedShadowsForThingOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ListNamedShadowsForThingResponseReceivedHandler
std::function< void(const IoTDataPlaneClient *, const Model::PublishRequest &, const Model::PublishOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> PublishResponseReceivedHandler
std::function< void(const IoTDataPlaneClient *, const Model::DeleteConnectionRequest &, const Model::DeleteConnectionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> DeleteConnectionResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String