AWS SDK for C++  1.9.159
AWS SDK for C++
MarketplaceMeteringClient.h
Go to the documentation of this file.
1 
6 #pragma once
20 #include <future>
21 #include <functional>
22 
23 namespace Aws
24 {
25 
26 namespace Http
27 {
28  class HttpClient;
29  class HttpClientFactory;
30 } // namespace Http
31 
32 namespace Utils
33 {
34  template< typename R, typename E> class Outcome;
35 namespace Threading
36 {
37  class Executor;
38 } // namespace Threading
39 } // namespace Utils
40 
41 namespace Auth
42 {
43  class AWSCredentials;
44  class AWSCredentialsProvider;
45 } // namespace Auth
46 
47 namespace Client
48 {
49  class RetryStrategy;
50 } // namespace Client
51 
52 namespace MarketplaceMetering
53 {
54 
55 namespace Model
56 {
58  class MeterUsageRequest;
61 
66 
67  typedef std::future<BatchMeterUsageOutcome> BatchMeterUsageOutcomeCallable;
68  typedef std::future<MeterUsageOutcome> MeterUsageOutcomeCallable;
69  typedef std::future<RegisterUsageOutcome> RegisterUsageOutcomeCallable;
70  typedef std::future<ResolveCustomerOutcome> ResolveCustomerOutcomeCallable;
71 } // namespace Model
72 
74 
75  typedef std::function<void(const MarketplaceMeteringClient*, const Model::BatchMeterUsageRequest&, const Model::BatchMeterUsageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > BatchMeterUsageResponseReceivedHandler;
76  typedef std::function<void(const MarketplaceMeteringClient*, const Model::MeterUsageRequest&, const Model::MeterUsageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > MeterUsageResponseReceivedHandler;
77  typedef std::function<void(const MarketplaceMeteringClient*, const Model::RegisterUsageRequest&, const Model::RegisterUsageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RegisterUsageResponseReceivedHandler;
78  typedef std::function<void(const MarketplaceMeteringClient*, const Model::ResolveCustomerRequest&, const Model::ResolveCustomerOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ResolveCustomerResponseReceivedHandler;
79 
116  {
117  public:
119 
125 
131 
136  MarketplaceMeteringClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
138 
140 
141 
158 
177 
195  virtual void BatchMeterUsageAsync(const Model::BatchMeterUsageRequest& request, const BatchMeterUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
196 
208 
222 
235  virtual void MeterUsageAsync(const Model::MeterUsageRequest& request, const MeterUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
236 
271 
308 
344  virtual void RegisterUsageAsync(const Model::RegisterUsageRequest& request, const RegisterUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
345 
356 
369 
381  virtual void ResolveCustomerAsync(const Model::ResolveCustomerRequest& request, const ResolveCustomerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
382 
383 
384  void OverrideEndpoint(const Aws::String& endpoint);
385  private:
386  void init(const Aws::Client::ClientConfiguration& clientConfiguration);
387  void BatchMeterUsageAsyncHelper(const Model::BatchMeterUsageRequest& request, const BatchMeterUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
388  void MeterUsageAsyncHelper(const Model::MeterUsageRequest& request, const MeterUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
389  void RegisterUsageAsyncHelper(const Model::RegisterUsageRequest& request, const RegisterUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
390  void ResolveCustomerAsyncHelper(const Model::ResolveCustomerRequest& request, const ResolveCustomerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
391 
392  Aws::String m_uri;
393  Aws::String m_configScheme;
394  std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
395  };
396 
397 } // namespace MarketplaceMetering
398 } // namespace Aws
Aws::DirectoryService::Model::LDAPSType::NOT_SET
@ NOT_SET
Aws::MarketplaceMetering::MarketplaceMeteringClient::RegisterUsageCallable
virtual Model::RegisterUsageOutcomeCallable RegisterUsageCallable(const Model::RegisterUsageRequest &request) const
AWSError.h
Aws::MarketplaceMetering::Model::MeterUsageOutcomeCallable
std::future< MeterUsageOutcome > MeterUsageOutcomeCallable
Definition: MarketplaceMeteringClient.h:68
Aws::MarketplaceMetering::Model::RegisterUsageOutcome
Aws::Utils::Outcome< RegisterUsageResult, MarketplaceMeteringError > RegisterUsageOutcome
Definition: MarketplaceMeteringClient.h:64
Aws::MarketplaceMetering::MarketplaceMeteringClient::RegisterUsage
virtual Model::RegisterUsageOutcome RegisterUsage(const Model::RegisterUsageRequest &request) const
Aws::MarketplaceMetering::MarketplaceMeteringClient::MarketplaceMeteringClient
MarketplaceMeteringClient(const Aws::Client::ClientConfiguration &clientConfiguration=Aws::Client::ClientConfiguration())
Aws::MarketplaceMetering::Model::MeterUsageRequest
Definition: MeterUsageRequest.h:25
Aws::MarketplaceMetering::Model::MeterUsageOutcome
Aws::Utils::Outcome< MeterUsageResult, MarketplaceMeteringError > MeterUsageOutcome
Definition: MarketplaceMeteringClient.h:63
Aws::MarketplaceMetering::MarketplaceMeteringClient::MarketplaceMeteringClient
MarketplaceMeteringClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration=Aws::Client::ClientConfiguration())
Aws::MarketplaceMetering::MarketplaceMeteringClient::ResolveCustomerAsync
virtual void ResolveCustomerAsync(const Model::ResolveCustomerRequest &request, const ResolveCustomerResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
AsyncCallerContext.h
MarketplaceMetering_EXPORTS.h
Aws::MarketplaceMetering::Model::ResolveCustomerRequest
Definition: ResolveCustomerRequest.h:26
Aws::MarketplaceMetering::MarketplaceMeteringClient::BatchMeterUsageCallable
virtual Model::BatchMeterUsageOutcomeCallable BatchMeterUsageCallable(const Model::BatchMeterUsageRequest &request) const
Aws::MarketplaceMetering::RegisterUsageResponseReceivedHandler
std::function< void(const MarketplaceMeteringClient *, const Model::RegisterUsageRequest &, const Model::RegisterUsageOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > RegisterUsageResponseReceivedHandler
Definition: MarketplaceMeteringClient.h:77
Aws::MarketplaceMetering::MarketplaceMeteringClient::ResolveCustomer
virtual Model::ResolveCustomerOutcome ResolveCustomer(const Model::ResolveCustomerRequest &request) const
Aws::MarketplaceMetering::Model::ResolveCustomerOutcomeCallable
std::future< ResolveCustomerOutcome > ResolveCustomerOutcomeCallable
Definition: MarketplaceMeteringClient.h:70
Aws::MarketplaceMetering::Model::BatchMeterUsageOutcomeCallable
std::future< BatchMeterUsageOutcome > BatchMeterUsageOutcomeCallable
Definition: MarketplaceMeteringClient.h:67
Aws::MarketplaceMetering::MarketplaceMeteringClient::BASECLASS
Aws::Client::AWSJsonClient BASECLASS
Definition: MarketplaceMeteringClient.h:118
Aws::MarketplaceMetering::Model::RegisterUsageRequest
Definition: RegisterUsageRequest.h:22
Aws::MarketplaceMetering::BatchMeterUsageResponseReceivedHandler
std::function< void(const MarketplaceMeteringClient *, const Model::BatchMeterUsageRequest &, const Model::BatchMeterUsageOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > BatchMeterUsageResponseReceivedHandler
Definition: MarketplaceMeteringClient.h:73
Aws::MarketplaceMetering::MarketplaceMeteringClient::OverrideEndpoint
void OverrideEndpoint(const Aws::String &endpoint)
BatchMeterUsageResult.h
Aws::Client::ClientConfiguration
Definition: ClientConfiguration.h:53
RegisterUsageResult.h
Aws::Auth::AWSCredentials
Definition: AWSCredentials.h:19
AWSString.h
Aws::MarketplaceMetering::MarketplaceMeteringClient::BatchMeterUsage
virtual Model::BatchMeterUsageOutcome BatchMeterUsage(const Model::BatchMeterUsageRequest &request) const
Aws::MarketplaceMetering::MarketplaceMeteringClient::ResolveCustomerCallable
virtual Model::ResolveCustomerOutcomeCallable ResolveCustomerCallable(const Model::ResolveCustomerRequest &request) const
Aws::Client::AWSJsonClient
Definition: AWSClient.h:338
Aws::MarketplaceMetering::MarketplaceMeteringClient::MarketplaceMeteringClient
MarketplaceMeteringClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration=Aws::Client::ClientConfiguration())
AWS_MARKETPLACEMETERING_API
#define AWS_MARKETPLACEMETERING_API
Definition: MarketplaceMetering_EXPORTS.h:28
Aws::MarketplaceMetering::MeterUsageResponseReceivedHandler
std::function< void(const MarketplaceMeteringClient *, const Model::MeterUsageRequest &, const Model::MeterUsageOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > MeterUsageResponseReceivedHandler
Definition: MarketplaceMeteringClient.h:76
Aws::MarketplaceMetering::MarketplaceMeteringClient::BatchMeterUsageAsync
virtual void BatchMeterUsageAsync(const Model::BatchMeterUsageRequest &request, const BatchMeterUsageResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::MarketplaceMetering::Model::BatchMeterUsageRequest
Definition: BatchMeterUsageRequest.h:28
ClientConfiguration.h
Aws
Definition: AccessManagementClient.h:15
HttpTypes.h
Aws::MarketplaceMetering::MarketplaceMeteringClient::MeterUsageAsync
virtual void MeterUsageAsync(const Model::MeterUsageRequest &request, const MeterUsageResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::MarketplaceMetering::MarketplaceMeteringClient::MeterUsage
virtual Model::MeterUsageOutcome MeterUsage(const Model::MeterUsageRequest &request) const
Aws::Utils::Outcome
Definition: Outcome.h:26
Aws::MarketplaceMetering::ResolveCustomerResponseReceivedHandler
std::function< void(const MarketplaceMeteringClient *, const Model::ResolveCustomerRequest &, const Model::ResolveCustomerOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ResolveCustomerResponseReceivedHandler
Definition: MarketplaceMeteringClient.h:78
Aws::String
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Aws::MarketplaceMetering::Model::RegisterUsageOutcomeCallable
std::future< RegisterUsageOutcome > RegisterUsageOutcomeCallable
Definition: MarketplaceMeteringClient.h:69
AWSClient.h
Aws::MarketplaceMetering::MarketplaceMeteringClient::~MarketplaceMeteringClient
virtual ~MarketplaceMeteringClient()
Aws::MarketplaceMetering::MarketplaceMeteringClient
Definition: MarketplaceMeteringClient.h:116
Aws::MarketplaceMetering::Model::BatchMeterUsageOutcome
Aws::Utils::Outcome< BatchMeterUsageResult, MarketplaceMeteringError > BatchMeterUsageOutcome
Definition: MarketplaceMeteringClient.h:60
Aws::MarketplaceMetering::MarketplaceMeteringClient::RegisterUsageAsync
virtual void RegisterUsageAsync(const Model::RegisterUsageRequest &request, const RegisterUsageResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
MarketplaceMeteringErrors.h
MeterUsageResult.h
Aws::MarketplaceMetering::MarketplaceMeteringClient::MeterUsageCallable
virtual Model::MeterUsageOutcomeCallable MeterUsageCallable(const Model::MeterUsageRequest &request) const
Aws::MarketplaceMetering::Model::ResolveCustomerOutcome
Aws::Utils::Outcome< ResolveCustomerResult, MarketplaceMeteringError > ResolveCustomerOutcome
Definition: MarketplaceMeteringClient.h:65
JsonSerializer.h
ResolveCustomerResult.h