AWS SDK for C++  1.9.108
AWS SDK for C++
MobileClient.h
Go to the documentation of this file.
1 
6 #pragma once
25 #include <future>
26 #include <functional>
27 
28 namespace Aws
29 {
30 
31 namespace Http
32 {
33  class HttpClient;
34  class HttpClientFactory;
35 } // namespace Http
36 
37 namespace Utils
38 {
39  template< typename R, typename E> class Outcome;
40 namespace Threading
41 {
42  class Executor;
43 } // namespace Threading
44 } // namespace Utils
45 
46 namespace Auth
47 {
48  class AWSCredentials;
49  class AWSCredentialsProvider;
50 } // namespace Auth
51 
52 namespace Client
53 {
54  class RetryStrategy;
55 } // namespace Client
56 
57 namespace Mobile
58 {
59 
60 namespace Model
61 {
66  class ExportBundleRequest;
68  class ListBundlesRequest;
69  class ListProjectsRequest;
71 
81 
82  typedef std::future<CreateProjectOutcome> CreateProjectOutcomeCallable;
83  typedef std::future<DeleteProjectOutcome> DeleteProjectOutcomeCallable;
84  typedef std::future<DescribeBundleOutcome> DescribeBundleOutcomeCallable;
85  typedef std::future<DescribeProjectOutcome> DescribeProjectOutcomeCallable;
86  typedef std::future<ExportBundleOutcome> ExportBundleOutcomeCallable;
87  typedef std::future<ExportProjectOutcome> ExportProjectOutcomeCallable;
88  typedef std::future<ListBundlesOutcome> ListBundlesOutcomeCallable;
89  typedef std::future<ListProjectsOutcome> ListProjectsOutcomeCallable;
90  typedef std::future<UpdateProjectOutcome> UpdateProjectOutcomeCallable;
91 } // namespace Model
92 
93  class MobileClient;
94 
95  typedef std::function<void(const MobileClient*, const Model::CreateProjectRequest&, const Model::CreateProjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateProjectResponseReceivedHandler;
96  typedef std::function<void(const MobileClient*, const Model::DeleteProjectRequest&, const Model::DeleteProjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteProjectResponseReceivedHandler;
97  typedef std::function<void(const MobileClient*, const Model::DescribeBundleRequest&, const Model::DescribeBundleOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeBundleResponseReceivedHandler;
98  typedef std::function<void(const MobileClient*, const Model::DescribeProjectRequest&, const Model::DescribeProjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeProjectResponseReceivedHandler;
99  typedef std::function<void(const MobileClient*, const Model::ExportBundleRequest&, const Model::ExportBundleOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ExportBundleResponseReceivedHandler;
100  typedef std::function<void(const MobileClient*, const Model::ExportProjectRequest&, const Model::ExportProjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ExportProjectResponseReceivedHandler;
101  typedef std::function<void(const MobileClient*, const Model::ListBundlesRequest&, const Model::ListBundlesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBundlesResponseReceivedHandler;
102  typedef std::function<void(const MobileClient*, const Model::ListProjectsRequest&, const Model::ListProjectsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListProjectsResponseReceivedHandler;
103  typedef std::function<void(const MobileClient*, const Model::UpdateProjectRequest&, const Model::UpdateProjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateProjectResponseReceivedHandler;
104 
112  {
113  public:
115 
121 
127 
132  MobileClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
134 
135  virtual ~MobileClient();
136 
137 
144 
153 
161  virtual void CreateProjectAsync(const Model::CreateProjectRequest& request, const CreateProjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
162 
169 
178 
186  virtual void DeleteProjectAsync(const Model::DeleteProjectRequest& request, const DeleteProjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
187 
195 
205 
214  virtual void DescribeBundleAsync(const Model::DescribeBundleRequest& request, const DescribeBundleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
215 
223 
233 
242  virtual void DescribeProjectAsync(const Model::DescribeProjectRequest& request, const DescribeProjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
243 
252 
263 
273  virtual void ExportBundleAsync(const Model::ExportBundleRequest& request, const ExportBundleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
274 
284 
296 
307  virtual void ExportProjectAsync(const Model::ExportProjectRequest& request, const ExportProjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
308 
315 
324 
332  virtual void ListBundlesAsync(const Model::ListBundlesRequest& request, const ListBundlesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
333 
340 
349 
357  virtual void ListProjectsAsync(const Model::ListProjectsRequest& request, const ListProjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
358 
365 
374 
382  virtual void UpdateProjectAsync(const Model::UpdateProjectRequest& request, const UpdateProjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
383 
384 
385  void OverrideEndpoint(const Aws::String& endpoint);
386  private:
387  void init(const Aws::Client::ClientConfiguration& clientConfiguration);
388  void CreateProjectAsyncHelper(const Model::CreateProjectRequest& request, const CreateProjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
389  void DeleteProjectAsyncHelper(const Model::DeleteProjectRequest& request, const DeleteProjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
390  void DescribeBundleAsyncHelper(const Model::DescribeBundleRequest& request, const DescribeBundleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
391  void DescribeProjectAsyncHelper(const Model::DescribeProjectRequest& request, const DescribeProjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
392  void ExportBundleAsyncHelper(const Model::ExportBundleRequest& request, const ExportBundleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
393  void ExportProjectAsyncHelper(const Model::ExportProjectRequest& request, const ExportProjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
394  void ListBundlesAsyncHelper(const Model::ListBundlesRequest& request, const ListBundlesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
395  void ListProjectsAsyncHelper(const Model::ListProjectsRequest& request, const ListProjectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
396  void UpdateProjectAsyncHelper(const Model::UpdateProjectRequest& request, const UpdateProjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
397 
398  Aws::String m_uri;
399  Aws::String m_configScheme;
400  std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
401  };
402 
403 } // namespace Mobile
404 } // namespace Aws
Aws::Mobile::Model::CreateProjectOutcomeCallable
std::future< CreateProjectOutcome > CreateProjectOutcomeCallable
Definition: MobileClient.h:82
Aws::DirectoryService::Model::LDAPSType::NOT_SET
@ NOT_SET
Aws::Mobile::MobileClient
Definition: MobileClient.h:112
Aws::Mobile::Model::DeleteProjectOutcomeCallable
std::future< DeleteProjectOutcome > DeleteProjectOutcomeCallable
Definition: MobileClient.h:83
DeleteProjectResult.h
DescribeProjectResult.h
AWSError.h
Aws::Mobile::MobileClient::DeleteProjectCallable
virtual Model::DeleteProjectOutcomeCallable DeleteProjectCallable(const Model::DeleteProjectRequest &request) const
Aws::Mobile::Model::DescribeProjectOutcome
Aws::Utils::Outcome< DescribeProjectResult, MobileError > DescribeProjectOutcome
Definition: MobileClient.h:75
Aws::Mobile::MobileClient::MobileClient
MobileClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration=Aws::Client::ClientConfiguration())
Mobile_EXPORTS.h
Aws::Mobile::MobileClient::UpdateProject
virtual Model::UpdateProjectOutcome UpdateProject(const Model::UpdateProjectRequest &request) const
Aws::Mobile::Model::DescribeProjectOutcomeCallable
std::future< DescribeProjectOutcome > DescribeProjectOutcomeCallable
Definition: MobileClient.h:85
Aws::Mobile::Model::UpdateProjectOutcome
Aws::Utils::Outcome< UpdateProjectResult, MobileError > UpdateProjectOutcome
Definition: MobileClient.h:80
Aws::Mobile::Model::DescribeBundleOutcomeCallable
std::future< DescribeBundleOutcome > DescribeBundleOutcomeCallable
Definition: MobileClient.h:84
Aws::Mobile::MobileClient::MobileClient
MobileClient(const Aws::Client::ClientConfiguration &clientConfiguration=Aws::Client::ClientConfiguration())
Aws::Mobile::Model::CreateProjectOutcome
Aws::Utils::Outcome< CreateProjectResult, MobileError > CreateProjectOutcome
Definition: MobileClient.h:70
Aws::Mobile::MobileClient::OverrideEndpoint
void OverrideEndpoint(const Aws::String &endpoint)
Aws::Mobile::Model::CreateProjectRequest
Definition: CreateProjectRequest.h:31
Aws::Mobile::MobileClient::ExportBundle
virtual Model::ExportBundleOutcome ExportBundle(const Model::ExportBundleRequest &request) const
AsyncCallerContext.h
Aws::Mobile::MobileClient::CreateProjectCallable
virtual Model::CreateProjectOutcomeCallable CreateProjectCallable(const Model::CreateProjectRequest &request) const
Aws::Mobile::Model::UpdateProjectOutcomeCallable
std::future< UpdateProjectOutcome > UpdateProjectOutcomeCallable
Definition: MobileClient.h:90
ExportProjectResult.h
Aws::Mobile::Model::ListBundlesOutcomeCallable
std::future< ListBundlesOutcome > ListBundlesOutcomeCallable
Definition: MobileClient.h:88
Aws::Mobile::Model::ExportProjectOutcome
Aws::Utils::Outcome< ExportProjectResult, MobileError > ExportProjectOutcome
Definition: MobileClient.h:77
AWS_MOBILE_API
#define AWS_MOBILE_API
Definition: Mobile_EXPORTS.h:28
Aws::Mobile::Model::ExportProjectOutcomeCallable
std::future< ExportProjectOutcome > ExportProjectOutcomeCallable
Definition: MobileClient.h:87
Aws::Mobile::MobileClient::DescribeBundle
virtual Model::DescribeBundleOutcome DescribeBundle(const Model::DescribeBundleRequest &request) const
ListBundlesResult.h
Aws::Mobile::Model::ExportBundleOutcome
Aws::Utils::Outcome< ExportBundleResult, MobileError > ExportBundleOutcome
Definition: MobileClient.h:76
Aws::Mobile::ListBundlesResponseReceivedHandler
std::function< void(const MobileClient *, const Model::ListBundlesRequest &, const Model::ListBundlesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListBundlesResponseReceivedHandler
Definition: MobileClient.h:101
DescribeBundleResult.h
Aws::Mobile::Model::ListProjectsRequest
Definition: ListProjectsRequest.h:30
Aws::Mobile::Model::DeleteProjectOutcome
Aws::Utils::Outcome< DeleteProjectResult, MobileError > DeleteProjectOutcome
Definition: MobileClient.h:73
Aws::Client::ClientConfiguration
Definition: ClientConfiguration.h:53
Aws::Mobile::Model::ListProjectsOutcome
Aws::Utils::Outcome< ListProjectsResult, MobileError > ListProjectsOutcome
Definition: MobileClient.h:79
Aws::Mobile::Model::DeleteProjectRequest
Definition: DeleteProjectRequest.h:26
Aws::Mobile::DescribeBundleResponseReceivedHandler
std::function< void(const MobileClient *, const Model::DescribeBundleRequest &, const Model::DescribeBundleOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeBundleResponseReceivedHandler
Definition: MobileClient.h:97
Aws::Mobile::MobileClient::ListProjects
virtual Model::ListProjectsOutcome ListProjects(const Model::ListProjectsRequest &request) const
Aws::Mobile::ExportProjectResponseReceivedHandler
std::function< void(const MobileClient *, const Model::ExportProjectRequest &, const Model::ExportProjectOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ExportProjectResponseReceivedHandler
Definition: MobileClient.h:100
Aws::Mobile::Model::ExportBundleOutcomeCallable
std::future< ExportBundleOutcome > ExportBundleOutcomeCallable
Definition: MobileClient.h:86
Aws::Auth::AWSCredentials
Definition: AWSCredentials.h:19
Aws::Mobile::DescribeProjectResponseReceivedHandler
std::function< void(const MobileClient *, const Model::DescribeProjectRequest &, const Model::DescribeProjectOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeProjectResponseReceivedHandler
Definition: MobileClient.h:98
Aws::Mobile::ExportBundleResponseReceivedHandler
std::function< void(const MobileClient *, const Model::ExportBundleRequest &, const Model::ExportBundleOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ExportBundleResponseReceivedHandler
Definition: MobileClient.h:99
AWSString.h
Aws::Mobile::DeleteProjectResponseReceivedHandler
std::function< void(const MobileClient *, const Model::DeleteProjectRequest &, const Model::DeleteProjectOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteProjectResponseReceivedHandler
Definition: MobileClient.h:96
Aws::Mobile::MobileClient::ListBundlesCallable
virtual Model::ListBundlesOutcomeCallable ListBundlesCallable(const Model::ListBundlesRequest &request) const
Aws::Client::AWSJsonClient
Definition: AWSClient.h:338
UpdateProjectResult.h
Aws::Mobile::MobileClient::CreateProject
virtual Model::CreateProjectOutcome CreateProject(const Model::CreateProjectRequest &request) const
Aws::Mobile::MobileClient::ListBundles
virtual Model::ListBundlesOutcome ListBundles(const Model::ListBundlesRequest &request) const
Aws::Mobile::MobileClient::MobileClient
MobileClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration=Aws::Client::ClientConfiguration())
Aws::Mobile::MobileClient::UpdateProjectAsync
virtual void UpdateProjectAsync(const Model::UpdateProjectRequest &request, const UpdateProjectResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::Mobile::MobileClient::ExportProject
virtual Model::ExportProjectOutcome ExportProject(const Model::ExportProjectRequest &request) const
Aws::Mobile::UpdateProjectResponseReceivedHandler
std::function< void(const MobileClient *, const Model::UpdateProjectRequest &, const Model::UpdateProjectOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UpdateProjectResponseReceivedHandler
Definition: MobileClient.h:103
Aws::Mobile::Model::DescribeBundleRequest
Definition: DescribeBundleRequest.h:26
Aws::Mobile::ListProjectsResponseReceivedHandler
std::function< void(const MobileClient *, const Model::ListProjectsRequest &, const Model::ListProjectsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListProjectsResponseReceivedHandler
Definition: MobileClient.h:102
Aws::Mobile::MobileClient::DescribeProject
virtual Model::DescribeProjectOutcome DescribeProject(const Model::DescribeProjectRequest &request) const
ClientConfiguration.h
Aws::Mobile::MobileClient::ExportProjectAsync
virtual void ExportProjectAsync(const Model::ExportProjectRequest &request, const ExportProjectResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::Mobile::MobileClient::DeleteProjectAsync
virtual void DeleteProjectAsync(const Model::DeleteProjectRequest &request, const DeleteProjectResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::Mobile::Model::ExportBundleRequest
Definition: ExportBundleRequest.h:32
Aws::Mobile::MobileClient::DescribeProjectCallable
virtual Model::DescribeProjectOutcomeCallable DescribeProjectCallable(const Model::DescribeProjectRequest &request) const
Aws
Definition: AccessManagementClient.h:15
HttpTypes.h
Aws::Mobile::MobileClient::ListBundlesAsync
virtual void ListBundlesAsync(const Model::ListBundlesRequest &request, const ListBundlesResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::Mobile::MobileClient::ExportBundleAsync
virtual void ExportBundleAsync(const Model::ExportBundleRequest &request, const ExportBundleResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
ListProjectsResult.h
Aws::Utils::Outcome
Definition: Outcome.h:26
MobileErrors.h
Aws::Mobile::MobileClient::ExportBundleCallable
virtual Model::ExportBundleOutcomeCallable ExportBundleCallable(const Model::ExportBundleRequest &request) const
Aws::Mobile::Model::ListProjectsOutcomeCallable
std::future< ListProjectsOutcome > ListProjectsOutcomeCallable
Definition: MobileClient.h:89
Aws::String
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Aws::Mobile::Model::UpdateProjectRequest
Definition: UpdateProjectRequest.h:31
Aws::Mobile::MobileClient::DescribeProjectAsync
virtual void DescribeProjectAsync(const Model::DescribeProjectRequest &request, const DescribeProjectResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::Mobile::MobileClient::DescribeBundleAsync
virtual void DescribeBundleAsync(const Model::DescribeBundleRequest &request, const DescribeBundleResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
AWSClient.h
Aws::Mobile::MobileClient::CreateProjectAsync
virtual void CreateProjectAsync(const Model::CreateProjectRequest &request, const CreateProjectResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::Mobile::Model::DescribeBundleOutcome
Aws::Utils::Outcome< DescribeBundleResult, MobileError > DescribeBundleOutcome
Definition: MobileClient.h:74
Aws::Mobile::Model::ListBundlesRequest
Definition: ListBundlesRequest.h:30
Aws::Mobile::MobileClient::ExportProjectCallable
virtual Model::ExportProjectOutcomeCallable ExportProjectCallable(const Model::ExportProjectRequest &request) const
Aws::Mobile::Model::DescribeProjectRequest
Definition: DescribeProjectRequest.h:30
Aws::Mobile::MobileClient::BASECLASS
Aws::Client::AWSJsonClient BASECLASS
Definition: MobileClient.h:114
Aws::Mobile::MobileClient::DeleteProject
virtual Model::DeleteProjectOutcome DeleteProject(const Model::DeleteProjectRequest &request) const
Aws::Mobile::MobileClient::ListProjectsAsync
virtual void ListProjectsAsync(const Model::ListProjectsRequest &request, const ListProjectsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::Mobile::CreateProjectResponseReceivedHandler
std::function< void(const MobileClient *, const Model::CreateProjectRequest &, const Model::CreateProjectOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateProjectResponseReceivedHandler
Definition: MobileClient.h:93
ExportBundleResult.h
Aws::Mobile::Model::ExportProjectRequest
Definition: ExportProjectRequest.h:26
Aws::Mobile::MobileClient::ListProjectsCallable
virtual Model::ListProjectsOutcomeCallable ListProjectsCallable(const Model::ListProjectsRequest &request) const
Aws::Mobile::Model::ListBundlesOutcome
Aws::Utils::Outcome< ListBundlesResult, MobileError > ListBundlesOutcome
Definition: MobileClient.h:78
Aws::Mobile::MobileClient::DescribeBundleCallable
virtual Model::DescribeBundleOutcomeCallable DescribeBundleCallable(const Model::DescribeBundleRequest &request) const
JsonSerializer.h
Aws::Mobile::MobileClient::~MobileClient
virtual ~MobileClient()
CreateProjectResult.h
Aws::Mobile::MobileClient::UpdateProjectCallable
virtual Model::UpdateProjectOutcomeCallable UpdateProjectCallable(const Model::UpdateProjectRequest &request) const