AWS SDK for C++  1.8.95
AWS SDK for C++
MediaStoreDataClient.h
Go to the documentation of this file.
1 
6 #pragma once
21 #include <future>
22 #include <functional>
23 
24 namespace Aws
25 {
26 
27 namespace Http
28 {
29  class HttpClient;
30  class HttpClientFactory;
31 } // namespace Http
32 
33 namespace Utils
34 {
35  template< typename R, typename E> class Outcome;
36 namespace Threading
37 {
38  class Executor;
39 } // namespace Threading
40 } // namespace Utils
41 
42 namespace Auth
43 {
44  class AWSCredentials;
45  class AWSCredentialsProvider;
46 } // namespace Auth
47 
48 namespace Client
49 {
50  class RetryStrategy;
51 } // namespace Client
52 
53 namespace MediaStoreData
54 {
55 
56 namespace Model
57 {
58  class DeleteObjectRequest;
60  class GetObjectRequest;
61  class ListItemsRequest;
63 
69 
70  typedef std::future<DeleteObjectOutcome> DeleteObjectOutcomeCallable;
71  typedef std::future<DescribeObjectOutcome> DescribeObjectOutcomeCallable;
72  typedef std::future<GetObjectOutcome> GetObjectOutcomeCallable;
73  typedef std::future<ListItemsOutcome> ListItemsOutcomeCallable;
74  typedef std::future<PutObjectOutcome> PutObjectOutcomeCallable;
75 } // namespace Model
76 
78 
79  typedef std::function<void(const MediaStoreDataClient*, const Model::DeleteObjectRequest&, const Model::DeleteObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteObjectResponseReceivedHandler;
80  typedef std::function<void(const MediaStoreDataClient*, const Model::DescribeObjectRequest&, const Model::DescribeObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeObjectResponseReceivedHandler;
81  typedef std::function<void(const MediaStoreDataClient*, const Model::GetObjectRequest&, Model::GetObjectOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetObjectResponseReceivedHandler;
82  typedef std::function<void(const MediaStoreDataClient*, const Model::ListItemsRequest&, const Model::ListItemsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListItemsResponseReceivedHandler;
83  typedef std::function<void(const MediaStoreDataClient*, const Model::PutObjectRequest&, const Model::PutObjectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutObjectResponseReceivedHandler;
84 
91  {
92  public:
94 
100 
106 
111  MediaStoreDataClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
113 
114  virtual ~MediaStoreDataClient();
115 
116 
122  virtual Model::DeleteObjectOutcome DeleteObject(const Model::DeleteObjectRequest& request) const;
123 
131  virtual Model::DeleteObjectOutcomeCallable DeleteObjectCallable(const Model::DeleteObjectRequest& request) const;
132 
140  virtual void DeleteObjectAsync(const Model::DeleteObjectRequest& request, const DeleteObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
141 
148  virtual Model::DescribeObjectOutcome DescribeObject(const Model::DescribeObjectRequest& request) const;
149 
158  virtual Model::DescribeObjectOutcomeCallable DescribeObjectCallable(const Model::DescribeObjectRequest& request) const;
159 
168  virtual void DescribeObjectAsync(const Model::DescribeObjectRequest& request, const DescribeObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
169 
178  virtual Model::GetObjectOutcome GetObject(const Model::GetObjectRequest& request) const;
179 
190  virtual Model::GetObjectOutcomeCallable GetObjectCallable(const Model::GetObjectRequest& request) const;
191 
202  virtual void GetObjectAsync(const Model::GetObjectRequest& request, const GetObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
203 
210  virtual Model::ListItemsOutcome ListItems(const Model::ListItemsRequest& request) const;
211 
220  virtual Model::ListItemsOutcomeCallable ListItemsCallable(const Model::ListItemsRequest& request) const;
221 
230  virtual void ListItemsAsync(const Model::ListItemsRequest& request, const ListItemsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
231 
239  virtual Model::PutObjectOutcome PutObject(const Model::PutObjectRequest& request) const;
240 
250  virtual Model::PutObjectOutcomeCallable PutObjectCallable(const Model::PutObjectRequest& request) const;
251 
261  virtual void PutObjectAsync(const Model::PutObjectRequest& request, const PutObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
262 
263 
264  void OverrideEndpoint(const Aws::String& endpoint);
265  private:
266  void init(const Aws::Client::ClientConfiguration& clientConfiguration);
267  void DeleteObjectAsyncHelper(const Model::DeleteObjectRequest& request, const DeleteObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
268  void DescribeObjectAsyncHelper(const Model::DescribeObjectRequest& request, const DescribeObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
269  void GetObjectAsyncHelper(const Model::GetObjectRequest& request, const GetObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
270  void ListItemsAsyncHelper(const Model::ListItemsRequest& request, const ListItemsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
271  void PutObjectAsyncHelper(const Model::PutObjectRequest& request, const PutObjectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
272 
273  Aws::String m_uri;
274  Aws::String m_configScheme;
275  std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
276  };
277 
278 } // namespace MediaStoreData
279 } // namespace Aws
Aws::Utils::Outcome< PutObjectResult, MediaStoreDataError > PutObjectOutcome
std::function< void(const MediaStoreDataClient *, const Model::DeleteObjectRequest &, const Model::DeleteObjectOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteObjectResponseReceivedHandler
#define AWS_MEDIASTOREDATA_API
Aws::Utils::Outcome< DescribeObjectResult, MediaStoreDataError > DescribeObjectOutcome
std::function< void(const MediaStoreDataClient *, const Model::GetObjectRequest &, Model::GetObjectOutcome, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetObjectResponseReceivedHandler
std::future< GetObjectOutcome > GetObjectOutcomeCallable
Aws::Utils::Outcome< GetObjectResult, MediaStoreDataError > GetObjectOutcome
Aws::Utils::Outcome< DeleteObjectResult, MediaStoreDataError > DeleteObjectOutcome
std::function< void(const MediaStoreDataClient *, const Model::ListItemsRequest &, const Model::ListItemsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListItemsResponseReceivedHandler
std::function< void(const MediaStoreDataClient *, const Model::DescribeObjectRequest &, const Model::DescribeObjectOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeObjectResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
std::future< ListItemsOutcome > ListItemsOutcomeCallable
std::function< void(const MediaStoreDataClient *, const Model::PutObjectRequest &, const Model::PutObjectOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutObjectResponseReceivedHandler
std::future< DescribeObjectOutcome > DescribeObjectOutcomeCallable
std::future< PutObjectOutcome > PutObjectOutcomeCallable
Aws::Utils::Outcome< ListItemsResult, MediaStoreDataError > ListItemsOutcome
std::future< DeleteObjectOutcome > DeleteObjectOutcomeCallable