Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,9 @@ toolchains/android/
tools/code-generation/generator/target/
tools/code-generation/smithy/codegen/gradle/
tools/code-generation/smithy/codegen/.gradle/
tools/code-generation/smithy/cpp-codegen/.gradle/
tools/code-generation/smithy/cpp-codegen/output/
tools/code-generation/smithy/cpp-codegen/smithy-build.json

#config output
aws-cpp-sdk-core/include/aws/core/SDKConfig.h
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include <aws/core/client/AWSClientAsyncCRTP.h>
#include <aws/core/client/ClientConfiguration.h>
#include <aws/dynamodb/DynamoDBErrorMarshaller.h>
#include <aws/dynamodb/DynamoDBPaginationBase.h>
#include <aws/dynamodb/DynamoDBServiceClientModel.h>
#include <aws/dynamodb/DynamoDB_EXPORTS.h>
#include <smithy/client/AwsSmithyClient.h>
Expand Down Expand Up @@ -40,7 +41,8 @@ class AWS_DYNAMODB_API DynamoDBClient
public smithy::client::AwsSmithyClientT<Aws::DynamoDB::SERVICE_NAME, Aws::DynamoDB::DynamoDBClientConfiguration,
smithy::AuthSchemeResolverBase<>, Aws::Crt::Variant<smithy::SigV4AuthScheme>,
DynamoDBEndpointProviderBase, smithy::client::JsonOutcomeSerializer,
smithy::client::JsonOutcome, Aws::Client::DynamoDBErrorMarshaller> {
smithy::client::JsonOutcome, Aws::Client::DynamoDBErrorMarshaller>,
public DynamoDBPaginationBase<DynamoDBClient> {
public:
static const char* GetServiceName();
static const char* GetAllocationTag();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/

#pragma once
#include <aws/core/utils/pagination/Paginator.h>
#include <aws/dynamodb/DynamoDBClient.h>
#include <aws/dynamodb/model/ListContributorInsightsPaginationTraits.h>
#include <aws/dynamodb/model/ListExportsPaginationTraits.h>
#include <aws/dynamodb/model/ListImportsPaginationTraits.h>
#include <aws/dynamodb/model/ListTablesPaginationTraits.h>
#include <aws/dynamodb/model/QueryPaginationTraits.h>
#include <aws/dynamodb/model/ScanPaginationTraits.h>

namespace Aws {
namespace DynamoDB {

using ListContributorInsightsPaginator =
Aws::Utils::Pagination::Paginator<DynamoDBClient, Model::ListContributorInsightsRequest,
Pagination::ListContributorInsightsPaginationTraits<DynamoDBClient>>;
using ListExportsPaginator =
Aws::Utils::Pagination::Paginator<DynamoDBClient, Model::ListExportsRequest, Pagination::ListExportsPaginationTraits<DynamoDBClient>>;
using ListImportsPaginator =
Aws::Utils::Pagination::Paginator<DynamoDBClient, Model::ListImportsRequest, Pagination::ListImportsPaginationTraits<DynamoDBClient>>;
using ListTablesPaginator =
Aws::Utils::Pagination::Paginator<DynamoDBClient, Model::ListTablesRequest, Pagination::ListTablesPaginationTraits<DynamoDBClient>>;
using QueryPaginator =
Aws::Utils::Pagination::Paginator<DynamoDBClient, Model::QueryRequest, Pagination::QueryPaginationTraits<DynamoDBClient>>;
using ScanPaginator =
Aws::Utils::Pagination::Paginator<DynamoDBClient, Model::ScanRequest, Pagination::ScanPaginationTraits<DynamoDBClient>>;

} // namespace DynamoDB
} // namespace Aws
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/

#pragma once

#include <aws/core/utils/pagination/Paginator.h>
#include <aws/dynamodb/model/ListContributorInsightsPaginationTraits.h>
#include <aws/dynamodb/model/ListExportsPaginationTraits.h>
#include <aws/dynamodb/model/ListImportsPaginationTraits.h>
#include <aws/dynamodb/model/ListTablesPaginationTraits.h>
#include <aws/dynamodb/model/QueryPaginationTraits.h>
#include <aws/dynamodb/model/ScanPaginationTraits.h>

#include <memory>

namespace Aws {
namespace DynamoDB {

class DynamoDBClient;

template <typename DerivedClient>
class DynamoDBPaginationBase {
public:
/**
* Create a paginator for ListContributorInsights operation
*/
Aws::Utils::Pagination::Paginator<DerivedClient, Model::ListContributorInsightsRequest,
Pagination::ListContributorInsightsPaginationTraits<DerivedClient>>
ListContributorInsightsPaginator(const Model::ListContributorInsightsRequest& request) {
return Aws::Utils::Pagination::Paginator<DerivedClient, Model::ListContributorInsightsRequest,
Pagination::ListContributorInsightsPaginationTraits<DerivedClient>>{
*static_cast<DerivedClient*>(this), request};
}

/**
* Create a paginator for ListExports operation
*/
Aws::Utils::Pagination::Paginator<DerivedClient, Model::ListExportsRequest, Pagination::ListExportsPaginationTraits<DerivedClient>>
ListExportsPaginator(const Model::ListExportsRequest& request) {
return Aws::Utils::Pagination::Paginator<DerivedClient, Model::ListExportsRequest,
Pagination::ListExportsPaginationTraits<DerivedClient>>{*static_cast<DerivedClient*>(this),
request};
}

/**
* Create a paginator for ListImports operation
*/
Aws::Utils::Pagination::Paginator<DerivedClient, Model::ListImportsRequest, Pagination::ListImportsPaginationTraits<DerivedClient>>
ListImportsPaginator(const Model::ListImportsRequest& request) {
return Aws::Utils::Pagination::Paginator<DerivedClient, Model::ListImportsRequest,
Pagination::ListImportsPaginationTraits<DerivedClient>>{*static_cast<DerivedClient*>(this),
request};
}

/**
* Create a paginator for ListTables operation
*/
Aws::Utils::Pagination::Paginator<DerivedClient, Model::ListTablesRequest, Pagination::ListTablesPaginationTraits<DerivedClient>>
ListTablesPaginator(const Model::ListTablesRequest& request) {
return Aws::Utils::Pagination::Paginator<DerivedClient, Model::ListTablesRequest,
Pagination::ListTablesPaginationTraits<DerivedClient>>{*static_cast<DerivedClient*>(this),
request};
}

/**
* Create a paginator for Query operation
*/
Aws::Utils::Pagination::Paginator<DerivedClient, Model::QueryRequest, Pagination::QueryPaginationTraits<DerivedClient>> QueryPaginator(
const Model::QueryRequest& request) {
return Aws::Utils::Pagination::Paginator<DerivedClient, Model::QueryRequest, Pagination::QueryPaginationTraits<DerivedClient>>{
*static_cast<DerivedClient*>(this), request};
}

/**
* Create a paginator for Scan operation
*/
Aws::Utils::Pagination::Paginator<DerivedClient, Model::ScanRequest, Pagination::ScanPaginationTraits<DerivedClient>> ScanPaginator(
const Model::ScanRequest& request) {
return Aws::Utils::Pagination::Paginator<DerivedClient, Model::ScanRequest, Pagination::ScanPaginationTraits<DerivedClient>>{
*static_cast<DerivedClient*>(this), request};
}
};
} // namespace DynamoDB
} // namespace Aws
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/

#pragma once
#include <aws/dynamodb/DynamoDBServiceClientModel.h>
#include <aws/dynamodb/DynamoDB_EXPORTS.h>
#include <aws/dynamodb/model/ScanRequest.h>
#include <aws/dynamodb/model/ScanResult.h>

namespace Aws {
namespace DynamoDB {
namespace Pagination {

template <typename Client = DynamoDBClient>
struct ScanPaginationTraits {
using RequestType = Model::ScanRequest;
using ResultType = Model::ScanResult;
using OutcomeType = Model::ScanOutcome;
using ClientType = Client;

static OutcomeType Invoke(Client& client, const RequestType& request) { return client.Scan(request); }

static bool HasMoreResults(const ResultType& result) { return !result.GetLastEvaluatedKey().empty(); }

static void SetNextRequest(const ResultType& result, RequestType& request) { request.SetExclusiveStartKey(result.GetLastEvaluatedKey()); }
};

} // namespace Pagination
} // namespace DynamoDB
} // namespace Aws
5 changes: 4 additions & 1 deletion generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include <aws/core/client/AWSClientAsyncCRTP.h>
#include <aws/core/client/ClientConfiguration.h>
#include <aws/core/utils/xml/XmlSerializer.h>
#include <aws/ec2/EC2PaginationBase.h>
#include <aws/ec2/EC2ServiceClientModel.h>
#include <aws/ec2/EC2_EXPORTS.h>

Expand All @@ -21,7 +22,9 @@ namespace EC2 {
* href="https://docs.aws.amazon.com/ec2/latest/devguide">Amazon EC2 Developer
* Guide</a>.</p>
*/
class AWS_EC2_API EC2Client : public Aws::Client::AWSXMLClient, public Aws::Client::ClientWithAsyncTemplateMethods<EC2Client> {
class AWS_EC2_API EC2Client : public Aws::Client::AWSXMLClient,
public Aws::Client::ClientWithAsyncTemplateMethods<EC2Client>,
public EC2PaginationBase<EC2Client> {
public:
typedef Aws::Client::AWSXMLClient BASECLASS;
static const char* GetServiceName();
Expand Down
Loading
Loading