AWS SDK for C++

AWS SDK for C++ Version 1.11.816

Loading...
Searching...
No Matches
IoTDataPlaneClient.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/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>
15
16namespace Aws {
17namespace IoTDataPlane {
32class AWS_IOTDATAPLANE_API IoTDataPlaneClient : public Aws::Client::AWSJsonClient,
33 public Aws::Client::ClientWithAsyncTemplateMethods<IoTDataPlaneClient>,
34 public IoTDataPlanePaginationBase<IoTDataPlaneClient>,
35 public IoTDataPlaneWaiter<IoTDataPlaneClient> {
36 public:
38 static const char* GetServiceName();
39 static const char* GetAllocationTag();
40
43
50 std::shared_ptr<IoTDataPlaneEndpointProviderBase> endpointProvider = nullptr);
51
57 const Aws::Auth::AWSCredentials& credentials, std::shared_ptr<IoTDataPlaneEndpointProviderBase> endpointProvider = nullptr,
59
65 const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
66 std::shared_ptr<IoTDataPlaneEndpointProviderBase> endpointProvider = nullptr,
68
69 /* Legacy constructors due deprecation */
75
80 IoTDataPlaneClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration);
81
86 IoTDataPlaneClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
87 const Aws::Client::ClientConfiguration& clientConfiguration);
88
89 /* End of legacy constructors due deprecation */
91
103
108 template <typename DeleteConnectionRequestT = Model::DeleteConnectionRequest>
109 Model::DeleteConnectionOutcomeCallable DeleteConnectionCallable(const DeleteConnectionRequestT& request) const {
110 return SubmitCallable(&IoTDataPlaneClient::DeleteConnection, request);
111 }
112
117 template <typename DeleteConnectionRequestT = Model::DeleteConnectionRequest>
118 void DeleteConnectionAsync(const DeleteConnectionRequestT& request, const DeleteConnectionResponseReceivedHandler& handler,
119 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
120 return SubmitAsync(&IoTDataPlaneClient::DeleteConnection, request, handler, context);
121 }
122
134
139 template <typename DeleteThingShadowRequestT = Model::DeleteThingShadowRequest>
140 Model::DeleteThingShadowOutcomeCallable DeleteThingShadowCallable(const DeleteThingShadowRequestT& request) const {
141 return SubmitCallable(&IoTDataPlaneClient::DeleteThingShadow, request);
142 }
143
148 template <typename DeleteThingShadowRequestT = Model::DeleteThingShadowRequest>
149 void DeleteThingShadowAsync(const DeleteThingShadowRequestT& request, const DeleteThingShadowResponseReceivedHandler& handler,
150 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
151 return SubmitAsync(&IoTDataPlaneClient::DeleteThingShadow, request, handler, context);
152 }
153
163
167 template <typename GetConnectionRequestT = Model::GetConnectionRequest>
168 Model::GetConnectionOutcomeCallable GetConnectionCallable(const GetConnectionRequestT& request) const {
169 return SubmitCallable(&IoTDataPlaneClient::GetConnection, request);
170 }
171
176 template <typename GetConnectionRequestT = Model::GetConnectionRequest>
177 void GetConnectionAsync(const GetConnectionRequestT& request, const GetConnectionResponseReceivedHandler& handler,
178 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
179 return SubmitAsync(&IoTDataPlaneClient::GetConnection, request, handler, context);
180 }
181
197
202 template <typename GetRetainedMessageRequestT = Model::GetRetainedMessageRequest>
203 Model::GetRetainedMessageOutcomeCallable GetRetainedMessageCallable(const GetRetainedMessageRequestT& request) const {
204 return SubmitCallable(&IoTDataPlaneClient::GetRetainedMessage, request);
205 }
206
211 template <typename GetRetainedMessageRequestT = Model::GetRetainedMessageRequest>
212 void GetRetainedMessageAsync(const GetRetainedMessageRequestT& request, const GetRetainedMessageResponseReceivedHandler& handler,
213 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
214 return SubmitAsync(&IoTDataPlaneClient::GetRetainedMessage, request, handler, context);
215 }
216
228
232 template <typename GetThingShadowRequestT = Model::GetThingShadowRequest>
233 Model::GetThingShadowOutcomeCallable GetThingShadowCallable(const GetThingShadowRequestT& request) const {
234 return SubmitCallable(&IoTDataPlaneClient::GetThingShadow, request);
235 }
236
241 template <typename GetThingShadowRequestT = Model::GetThingShadowRequest>
242 void GetThingShadowAsync(const GetThingShadowRequestT& request, const GetThingShadowResponseReceivedHandler& handler,
243 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
244 return SubmitAsync(&IoTDataPlaneClient::GetThingShadow, request, handler, context);
245 }
246
256
261 template <typename ListNamedShadowsForThingRequestT = Model::ListNamedShadowsForThingRequest>
262 Model::ListNamedShadowsForThingOutcomeCallable ListNamedShadowsForThingCallable(const ListNamedShadowsForThingRequestT& request) const {
263 return SubmitCallable(&IoTDataPlaneClient::ListNamedShadowsForThing, request);
264 }
265
270 template <typename ListNamedShadowsForThingRequestT = Model::ListNamedShadowsForThingRequest>
271 void ListNamedShadowsForThingAsync(const ListNamedShadowsForThingRequestT& request,
273 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
274 return SubmitAsync(&IoTDataPlaneClient::ListNamedShadowsForThing, request, handler, context);
275 }
276
294
299 template <typename ListRetainedMessagesRequestT = Model::ListRetainedMessagesRequest>
300 Model::ListRetainedMessagesOutcomeCallable ListRetainedMessagesCallable(const ListRetainedMessagesRequestT& request = {}) const {
301 return SubmitCallable(&IoTDataPlaneClient::ListRetainedMessages, request);
302 }
303
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);
313 }
314
325
330 template <typename ListSubscriptionsRequestT = Model::ListSubscriptionsRequest>
331 Model::ListSubscriptionsOutcomeCallable ListSubscriptionsCallable(const ListSubscriptionsRequestT& request) const {
332 return SubmitCallable(&IoTDataPlaneClient::ListSubscriptions, request);
333 }
334
339 template <typename ListSubscriptionsRequestT = Model::ListSubscriptionsRequest>
340 void ListSubscriptionsAsync(const ListSubscriptionsRequestT& request, const ListSubscriptionsResponseReceivedHandler& handler,
341 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
342 return SubmitAsync(&IoTDataPlaneClient::ListSubscriptions, request, handler, context);
343 }
344
358
362 template <typename PublishRequestT = Model::PublishRequest>
363 Model::PublishOutcomeCallable PublishCallable(const PublishRequestT& request) const {
364 return SubmitCallable(&IoTDataPlaneClient::Publish, request);
365 }
366
371 template <typename PublishRequestT = Model::PublishRequest>
372 void PublishAsync(const PublishRequestT& request, const PublishResponseReceivedHandler& handler,
373 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
374 return SubmitAsync(&IoTDataPlaneClient::Publish, request, handler, context);
375 }
376
391
396 template <typename SendDirectMessageRequestT = Model::SendDirectMessageRequest>
397 Model::SendDirectMessageOutcomeCallable SendDirectMessageCallable(const SendDirectMessageRequestT& request) const {
398 return SubmitCallable(&IoTDataPlaneClient::SendDirectMessage, request);
399 }
400
405 template <typename SendDirectMessageRequestT = Model::SendDirectMessageRequest>
406 void SendDirectMessageAsync(const SendDirectMessageRequestT& request, const SendDirectMessageResponseReceivedHandler& handler,
407 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
408 return SubmitAsync(&IoTDataPlaneClient::SendDirectMessage, request, handler, context);
409 }
410
422
427 template <typename UpdateThingShadowRequestT = Model::UpdateThingShadowRequest>
428 Model::UpdateThingShadowOutcomeCallable UpdateThingShadowCallable(const UpdateThingShadowRequestT& request) const {
429 return SubmitCallable(&IoTDataPlaneClient::UpdateThingShadow, request);
430 }
431
436 template <typename UpdateThingShadowRequestT = Model::UpdateThingShadowRequest>
437 void UpdateThingShadowAsync(const UpdateThingShadowRequestT& request, const UpdateThingShadowResponseReceivedHandler& handler,
438 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
439 return SubmitAsync(&IoTDataPlaneClient::UpdateThingShadow, request, handler, context);
440 }
441
442 virtual void OverrideEndpoint(const Aws::String& endpoint);
443 virtual std::shared_ptr<IoTDataPlaneEndpointProviderBase>& accessEndpointProvider();
444
445 private:
447 void init(const IoTDataPlaneClientConfiguration& clientConfiguration);
448
450
451 InvokeOperationOutcome InvokeServiceOperation(const AmazonWebServiceRequest& request,
452 const std::function<void(Aws::Endpoint::ResolveEndpointOutcome&)>& resolveUri,
453 Aws::Http::HttpMethod httpMethod) const;
454
455 IoTDataPlaneClientConfiguration m_clientConfiguration;
456 std::shared_ptr<IoTDataPlaneEndpointProviderBase> m_endpointProvider;
457};
458
459} // namespace IoTDataPlane
460} // namespace Aws
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
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
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