Renamed MaxResult/Segment to be PageSizeHint/SinglePage (#1259)
This commit is contained in:
parent
a470957606
commit
e49ceabf85
@ -15,6 +15,7 @@
|
||||
- `ExpiryTime` is renamed to `ExpiresOn`.
|
||||
- `LastAccessTime` is renamed to `LastAccessedOn`.
|
||||
- Move version strings into `Details` namespace.
|
||||
- Renamed all functions and structures that could retrieve partial query results from the server to have `SinglePage` suffix instead of `Segment` suffix.
|
||||
- `ReadFileResult` now have `ContentRange` as string.
|
||||
- `ReadFileOptions` now have `Azure::Core::Http::Range Range` instead of `Content-Length` and `Offset`.
|
||||
|
||||
|
||||
@ -67,7 +67,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
/**
|
||||
* @brief Optional parameters for ServiceClient::ListFilesSystems
|
||||
*/
|
||||
struct ListFileSystemsSegmentOptions
|
||||
struct ListFileSystemsSinglePageOptions
|
||||
{
|
||||
/**
|
||||
* @brief Context for cancelling long running operations.
|
||||
@ -94,7 +94,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
* return. If omitted or greater than 5,000, the response will
|
||||
* include up to 5,000 items.
|
||||
*/
|
||||
Azure::Core::Nullable<int32_t> MaxResults;
|
||||
Azure::Core::Nullable<int32_t> PageSizeHint;
|
||||
};
|
||||
|
||||
/**
|
||||
@ -199,7 +199,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
* return. If omitted or greater than 5,000, the response will
|
||||
* include up to 5,000 items.
|
||||
*/
|
||||
Azure::Core::Nullable<int32_t> MaxResults;
|
||||
Azure::Core::Nullable<int32_t> PageSizeHint;
|
||||
|
||||
/**
|
||||
* @brief Filters results to paths within the specified directory. An error occurs
|
||||
|
||||
@ -17,7 +17,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { nam
|
||||
|
||||
using GetUserDelegationKeyResult = Blobs::Models::GetUserDelegationKeyResult;
|
||||
using UserDelegationKey = Blobs::Models::UserDelegationKey;
|
||||
using ListFileSystemsSegmentResult = ServiceListFileSystemsResult;
|
||||
using ListFileSystemsSinglePageResult = ServiceListFileSystemsResult;
|
||||
|
||||
// FileSystemClient models:
|
||||
|
||||
|
||||
@ -89,12 +89,12 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
/**
|
||||
* @brief List the file systems from the service.
|
||||
* @param options Optional parameters to list the file systems.
|
||||
* @return Azure::Core::Response<Models::ListFileSystemsSegmentResult> containing the listed
|
||||
* @return Azure::Core::Response<Models::ListFileSystemsSinglePageResult> containing the listed
|
||||
* result of file systems and continuation token for unfinished list result.
|
||||
* @remark This request is sent to blob endpoint.
|
||||
*/
|
||||
Azure::Core::Response<Models::ListFileSystemsSegmentResult> ListFileSystemsSegement(
|
||||
const ListFileSystemsSegmentOptions& options = ListFileSystemsSegmentOptions()) const;
|
||||
Azure::Core::Response<Models::ListFileSystemsSinglePageResult> ListFileSystemsSinglePage(
|
||||
const ListFileSystemsSinglePageOptions& options = ListFileSystemsSinglePageOptions()) const;
|
||||
|
||||
/**
|
||||
* @brief Retrieves a key that can be used to delegate Active Directory authorization to
|
||||
|
||||
@ -35,7 +35,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
constexpr static const char* QueryForceFlag = "forceflag";
|
||||
constexpr static const char* QueryPath = "directory";
|
||||
constexpr static const char* QueryPrefix = "prefix";
|
||||
constexpr static const char* QueryMaxResults = "maxresults";
|
||||
constexpr static const char* QueryPageSizeHint = "maxresults";
|
||||
constexpr static const char* QueryUpn = "upn";
|
||||
constexpr static const char* QueryPosition = "position";
|
||||
constexpr static const char* QueryRetainUncommittedData = "retainuncommitteddata";
|
||||
@ -720,7 +720,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
if (listFileSystemsOptions.MaxResults.HasValue())
|
||||
{
|
||||
request.GetUrl().AppendQueryParameter(
|
||||
Details::QueryMaxResults,
|
||||
Details::QueryPageSizeHint,
|
||||
Storage::Details::UrlEncodeQueryParameter(
|
||||
std::to_string(listFileSystemsOptions.MaxResults.GetValue())));
|
||||
}
|
||||
@ -1041,7 +1041,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
if (listPathsOptions.MaxResults.HasValue())
|
||||
{
|
||||
request.GetUrl().AppendQueryParameter(
|
||||
Details::QueryMaxResults,
|
||||
Details::QueryPageSizeHint,
|
||||
Storage::Details::UrlEncodeQueryParameter(
|
||||
std::to_string(listPathsOptions.MaxResults.GetValue())));
|
||||
}
|
||||
|
||||
@ -91,7 +91,7 @@ void DataLakeGettingStarted()
|
||||
std::vector<Models::FileSystem> fileSystems;
|
||||
do
|
||||
{
|
||||
auto response = serviceClient.ListFileSystemsSegement();
|
||||
auto response = serviceClient.ListFileSystemsSinglePage();
|
||||
if (response->ContinuationToken.HasValue())
|
||||
{
|
||||
continuation = response->ContinuationToken.GetValue();
|
||||
|
||||
@ -251,7 +251,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
protocolLayerOptions.Resource = Models::FileSystemResourceType::Filesystem;
|
||||
protocolLayerOptions.Upn = options.UserPrincipalName;
|
||||
protocolLayerOptions.ContinuationToken = options.ContinuationToken;
|
||||
protocolLayerOptions.MaxResults = options.MaxResults;
|
||||
protocolLayerOptions.MaxResults = options.PageSizeHint;
|
||||
protocolLayerOptions.Directory = options.Directory;
|
||||
protocolLayerOptions.RecursiveRequired = recursive;
|
||||
return Details::DataLakeRestClient::FileSystem::ListPaths(
|
||||
|
||||
@ -172,20 +172,20 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
builder, m_blobServiceClient.GetBlobContainerClient(fileSystemName), m_pipeline);
|
||||
}
|
||||
|
||||
Azure::Core::Response<Models::ListFileSystemsSegmentResult>
|
||||
DataLakeServiceClient::ListFileSystemsSegement(const ListFileSystemsSegmentOptions& options) const
|
||||
Azure::Core::Response<Models::ListFileSystemsSinglePageResult>
|
||||
DataLakeServiceClient::ListFileSystemsSinglePage(const ListFileSystemsSinglePageOptions& options) const
|
||||
{
|
||||
Blobs::ListBlobContainersSinglePageOptions blobOptions;
|
||||
blobOptions.Context = options.Context;
|
||||
blobOptions.Prefix = options.Prefix;
|
||||
blobOptions.ContinuationToken = options.ContinuationToken;
|
||||
blobOptions.PageSizeHint = options.MaxResults;
|
||||
blobOptions.PageSizeHint = options.PageSizeHint;
|
||||
auto result = m_blobServiceClient.ListBlobContainersSinglePage(blobOptions);
|
||||
auto response = Models::ListFileSystemsSegmentResult();
|
||||
auto response = Models::ListFileSystemsSinglePageResult();
|
||||
response.ContinuationToken = result->ContinuationToken.empty() ? response.ContinuationToken
|
||||
: result->ContinuationToken;
|
||||
response.Filesystems = FileSystemsFromContainerItems(result->Items);
|
||||
return Azure::Core::Response<Models::ListFileSystemsSegmentResult>(
|
||||
return Azure::Core::Response<Models::ListFileSystemsSinglePageResult>(
|
||||
std::move(response), result.ExtractRawResponse());
|
||||
}
|
||||
|
||||
|
||||
@ -246,7 +246,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
{
|
||||
// List max result
|
||||
Files::DataLake::ListPathsOptions options;
|
||||
options.MaxResults = 2;
|
||||
options.PageSizeHint = 2;
|
||||
auto response = m_fileSystemClient->ListPaths(true, options);
|
||||
EXPECT_LE(2U, response->Paths.size());
|
||||
}
|
||||
|
||||
@ -57,14 +57,14 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
{
|
||||
std::vector<Files::DataLake::Models::FileSystem> result;
|
||||
std::string continuation;
|
||||
Files::DataLake::ListFileSystemsSegmentOptions options;
|
||||
Files::DataLake::ListFileSystemsSinglePageOptions options;
|
||||
if (!prefix.empty())
|
||||
{
|
||||
options.Prefix = prefix;
|
||||
}
|
||||
do
|
||||
{
|
||||
auto response = m_dataLakeServiceClient->ListFileSystemsSegement(options);
|
||||
auto response = m_dataLakeServiceClient->ListFileSystemsSinglePage(options);
|
||||
result.insert(result.end(), response->Filesystems.begin(), response->Filesystems.end());
|
||||
if (response->ContinuationToken.HasValue())
|
||||
{
|
||||
@ -130,9 +130,9 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
}
|
||||
{
|
||||
// List max result
|
||||
Files::DataLake::ListFileSystemsSegmentOptions options;
|
||||
options.MaxResults = 2;
|
||||
auto response = m_dataLakeServiceClient->ListFileSystemsSegement(options);
|
||||
Files::DataLake::ListFileSystemsSinglePageOptions options;
|
||||
options.PageSizeHint = 2;
|
||||
auto response = m_dataLakeServiceClient->ListFileSystemsSinglePage(options);
|
||||
EXPECT_LE(2U, response->Filesystems.size());
|
||||
}
|
||||
}
|
||||
@ -157,7 +157,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
.GetUri();
|
||||
auto datalakeServiceClient
|
||||
= Azure::Storage::Files::DataLake::DataLakeServiceClient(datalakeServiceUri + sasToken);
|
||||
EXPECT_NO_THROW(datalakeServiceClient.ListFileSystemsSegement());
|
||||
EXPECT_NO_THROW(datalakeServiceClient.ListFileSystemsSinglePage());
|
||||
}
|
||||
|
||||
}}} // namespace Azure::Storage::Test
|
||||
|
||||
@ -16,6 +16,7 @@
|
||||
- `FileShareHttpHeaders` is renamed to `ShareFileHttpHeaders`, and member `std::string ContentMd5` is changed to `Storage::ContentHash ContentHash`.
|
||||
- All date time related strings are now changed to `Azure::Core::DateTime` type.
|
||||
- Move version strings into `Details` namespace.
|
||||
- Renamed all functions and structures that could retrieve partial query results from the server to have `SinglePage` suffix instead of `Segment` suffix.
|
||||
- Removed `FileRange` and `ClearRange`, they are now represented with `Azure::Core::Http::Range`.
|
||||
- Removed `Offset` and `Length` pair in options. They are now represented with `Azure::Core::Http::Range`.
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
constexpr static const char* QueryCopyId = "copyid";
|
||||
constexpr static const char* QueryListSharesInclude = "include";
|
||||
constexpr static const char* QueryContinuationToken = "marker";
|
||||
constexpr static const char* QueryMaxResults = "maxresults";
|
||||
constexpr static const char* QueryPageSizeHint = "maxresults";
|
||||
constexpr static const char* QueryPrefix = "prefix";
|
||||
constexpr static const char* QueryPrevShareSnapshot = "prevsharesnapshot";
|
||||
constexpr static const char* QueryShareSnapshot = "sharesnapshot";
|
||||
@ -212,7 +212,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
};
|
||||
|
||||
// Abstract for entries that can be listed from Directory.
|
||||
struct FilesAndDirectoriesListSegment
|
||||
struct FilesAndDirectoriesListSinglePage
|
||||
{
|
||||
std::vector<Models::DirectoryItem> DirectoryItems;
|
||||
std::vector<Models::FileItem> FileItems;
|
||||
@ -260,7 +260,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
};
|
||||
|
||||
// An enumeration of directories and files.
|
||||
struct ListFilesAndDirectoriesSegmentResponse
|
||||
struct ListFilesAndDirectoriesSinglePageResponse
|
||||
{
|
||||
std::string ServiceEndpoint;
|
||||
std::string ShareName;
|
||||
@ -268,8 +268,8 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
std::string DirectoryPath;
|
||||
std::string Prefix;
|
||||
std::string PreviousContinuationToken;
|
||||
int32_t MaxResults = int32_t();
|
||||
Models::FilesAndDirectoriesListSegment Segment;
|
||||
int32_t PageSizeHint = int32_t();
|
||||
Models::FilesAndDirectoriesListSinglePage SinglePage;
|
||||
std::string ContinuationToken;
|
||||
};
|
||||
|
||||
@ -314,7 +314,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
std::string ServiceEndpoint;
|
||||
std::string Prefix;
|
||||
std::string PreviousContinuationToken;
|
||||
int32_t MaxResults = int32_t();
|
||||
int32_t PageSizeHint = int32_t();
|
||||
std::vector<Models::ShareItem> ShareItems;
|
||||
std::string ContinuationToken;
|
||||
};
|
||||
@ -458,12 +458,12 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
Azure::Core::Nullable<Models::ShareProtocolSettings> Protocol;
|
||||
};
|
||||
|
||||
struct ServiceListSharesSegmentResult
|
||||
struct ServiceListSharesSinglePageResult
|
||||
{
|
||||
std::string ServiceEndpoint;
|
||||
std::string Prefix;
|
||||
std::string PreviousContinuationToken;
|
||||
int32_t MaxResults = int32_t();
|
||||
int32_t PageSizeHint = int32_t();
|
||||
std::vector<Models::ShareItem> ShareItems;
|
||||
std::string ContinuationToken;
|
||||
};
|
||||
@ -640,7 +640,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
bool IsServerEncrypted = bool();
|
||||
};
|
||||
|
||||
struct DirectoryListFilesAndDirectoriesSegmentResult
|
||||
struct DirectoryListFilesAndDirectoriesSinglePageResult
|
||||
{
|
||||
std::string ServiceEndpoint;
|
||||
std::string ShareName;
|
||||
@ -648,8 +648,8 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
std::string DirectoryPath;
|
||||
std::string Prefix;
|
||||
std::string PreviousContinuationToken;
|
||||
int32_t MaxResults = int32_t();
|
||||
Models::FilesAndDirectoriesListSegment Segment;
|
||||
int32_t PageSizeHint = int32_t();
|
||||
Models::FilesAndDirectoriesListSinglePage SinglePage;
|
||||
std::string ContinuationToken;
|
||||
ShareFileHttpHeaders HttpHeaders;
|
||||
};
|
||||
@ -1307,7 +1307,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
return GetPropertiesParseResult(context, pipeline.Send(context, request));
|
||||
}
|
||||
|
||||
struct ListSharesSegmentOptions
|
||||
struct ListSharesSinglePageOptions
|
||||
{
|
||||
Azure::Core::Nullable<std::string> Prefix;
|
||||
Azure::Core::Nullable<std::string> ContinuationToken;
|
||||
@ -1317,51 +1317,53 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
std::string ApiVersionParameter = Details::DefaultServiceApiVersion;
|
||||
};
|
||||
|
||||
static Azure::Core::Response<Models::ServiceListSharesSegmentResult> ListSharesSegment(
|
||||
static Azure::Core::Response<Models::ServiceListSharesSinglePageResult>
|
||||
ListSharesSinglePage(
|
||||
const Azure::Core::Http::Url& url,
|
||||
Azure::Core::Http::HttpPipeline& pipeline,
|
||||
Azure::Core::Context context,
|
||||
const ListSharesSegmentOptions& listSharesSegmentOptions)
|
||||
const ListSharesSinglePageOptions& listSharesSinglePageOptions)
|
||||
{
|
||||
Azure::Core::Http::Request request(Azure::Core::Http::HttpMethod::Get, url);
|
||||
request.GetUrl().AppendQueryParameter(Details::QueryComp, "list");
|
||||
if (listSharesSegmentOptions.Prefix.HasValue())
|
||||
if (listSharesSinglePageOptions.Prefix.HasValue())
|
||||
{
|
||||
request.GetUrl().AppendQueryParameter(
|
||||
Details::QueryPrefix,
|
||||
Storage::Details::UrlEncodeQueryParameter(
|
||||
listSharesSegmentOptions.Prefix.GetValue()));
|
||||
listSharesSinglePageOptions.Prefix.GetValue()));
|
||||
}
|
||||
if (listSharesSegmentOptions.ContinuationToken.HasValue())
|
||||
if (listSharesSinglePageOptions.ContinuationToken.HasValue())
|
||||
{
|
||||
request.GetUrl().AppendQueryParameter(
|
||||
Details::QueryContinuationToken,
|
||||
Storage::Details::UrlEncodeQueryParameter(
|
||||
listSharesSegmentOptions.ContinuationToken.GetValue()));
|
||||
listSharesSinglePageOptions.ContinuationToken.GetValue()));
|
||||
}
|
||||
if (listSharesSegmentOptions.MaxResults.HasValue())
|
||||
if (listSharesSinglePageOptions.MaxResults.HasValue())
|
||||
{
|
||||
request.GetUrl().AppendQueryParameter(
|
||||
Details::QueryMaxResults,
|
||||
Details::QueryPageSizeHint,
|
||||
Storage::Details::UrlEncodeQueryParameter(
|
||||
std::to_string(listSharesSegmentOptions.MaxResults.GetValue())));
|
||||
std::to_string(listSharesSinglePageOptions.MaxResults.GetValue())));
|
||||
}
|
||||
if (listSharesSegmentOptions.ListSharesInclude.HasValue())
|
||||
if (listSharesSinglePageOptions.ListSharesInclude.HasValue())
|
||||
{
|
||||
request.GetUrl().AppendQueryParameter(
|
||||
Details::QueryListSharesInclude,
|
||||
Storage::Details::UrlEncodeQueryParameter(Models::ListSharesIncludeTypeToString(
|
||||
listSharesSegmentOptions.ListSharesInclude.GetValue())));
|
||||
listSharesSinglePageOptions.ListSharesInclude.GetValue())));
|
||||
}
|
||||
if (listSharesSegmentOptions.Timeout.HasValue())
|
||||
if (listSharesSinglePageOptions.Timeout.HasValue())
|
||||
{
|
||||
request.GetUrl().AppendQueryParameter(
|
||||
Details::QueryTimeout,
|
||||
Storage::Details::UrlEncodeQueryParameter(
|
||||
std::to_string(listSharesSegmentOptions.Timeout.GetValue())));
|
||||
std::to_string(listSharesSinglePageOptions.Timeout.GetValue())));
|
||||
}
|
||||
request.AddHeader(Details::HeaderVersion, listSharesSegmentOptions.ApiVersionParameter);
|
||||
return ListSharesSegmentParseResult(context, pipeline.Send(context, request));
|
||||
request.AddHeader(
|
||||
Details::HeaderVersion, listSharesSinglePageOptions.ApiVersionParameter);
|
||||
return ListSharesSinglePageParseResult(context, pipeline.Send(context, request));
|
||||
}
|
||||
|
||||
private:
|
||||
@ -2056,8 +2058,8 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
|
||||
return result;
|
||||
}
|
||||
static Azure::Core::Response<Models::ServiceListSharesSegmentResult>
|
||||
ListSharesSegmentParseResult(
|
||||
static Azure::Core::Response<Models::ServiceListSharesSinglePageResult>
|
||||
ListSharesSinglePageParseResult(
|
||||
Azure::Core::Context context,
|
||||
std::unique_ptr<Azure::Core::Http::RawResponse> responsePtr)
|
||||
{
|
||||
@ -2068,11 +2070,11 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
const auto& bodyBuffer = response.GetBody();
|
||||
auto reader = Storage::Details::XmlReader(
|
||||
reinterpret_cast<const char*>(bodyBuffer.data()), bodyBuffer.size());
|
||||
Models::ServiceListSharesSegmentResult result = bodyBuffer.empty()
|
||||
? Models::ServiceListSharesSegmentResult()
|
||||
: ServiceListSharesSegmentResultFromListSharesResponse(
|
||||
Models::ServiceListSharesSinglePageResult result = bodyBuffer.empty()
|
||||
? Models::ServiceListSharesSinglePageResult()
|
||||
: ServiceListSharesSinglePageResultFromListSharesResponse(
|
||||
ListSharesResponseFromXml(reader));
|
||||
return Azure::Core::Response<Models::ServiceListSharesSegmentResult>(
|
||||
return Azure::Core::Response<Models::ServiceListSharesSinglePageResult>(
|
||||
std::move(result), std::move(responsePtr));
|
||||
}
|
||||
else
|
||||
@ -2614,7 +2616,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
path.size() == 2 && path[0] == XmlTagName::EnumerationResults
|
||||
&& path[1] == XmlTagName::MaxResults)
|
||||
{
|
||||
result.MaxResults = std::stoi(node.Value);
|
||||
result.PageSizeHint = std::stoi(node.Value);
|
||||
}
|
||||
else if (
|
||||
path.size() == 2 && path[0] == XmlTagName::EnumerationResults
|
||||
@ -2641,14 +2643,14 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
return result;
|
||||
}
|
||||
|
||||
static Models::ServiceListSharesSegmentResult
|
||||
ServiceListSharesSegmentResultFromListSharesResponse(Models::ListSharesResponse object)
|
||||
static Models::ServiceListSharesSinglePageResult
|
||||
ServiceListSharesSinglePageResultFromListSharesResponse(Models::ListSharesResponse object)
|
||||
{
|
||||
Models::ServiceListSharesSegmentResult result;
|
||||
Models::ServiceListSharesSinglePageResult result;
|
||||
result.ServiceEndpoint = std::move(object.ServiceEndpoint);
|
||||
result.Prefix = std::move(object.Prefix);
|
||||
result.PreviousContinuationToken = std::move(object.PreviousContinuationToken);
|
||||
result.MaxResults = object.MaxResults;
|
||||
result.PageSizeHint = object.PageSizeHint;
|
||||
result.ShareItems = std::move(object.ShareItems);
|
||||
result.ContinuationToken = std::move(object.ContinuationToken);
|
||||
|
||||
@ -4357,7 +4359,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
return SetMetadataParseResult(context, pipeline.Send(context, request));
|
||||
}
|
||||
|
||||
struct ListFilesAndDirectoriesSegmentOptions
|
||||
struct ListFilesAndDirectoriesSinglePageOptions
|
||||
{
|
||||
Azure::Core::Nullable<std::string> Prefix;
|
||||
Azure::Core::Nullable<std::string> ShareSnapshot;
|
||||
@ -4367,54 +4369,55 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
std::string ApiVersionParameter = Details::DefaultServiceApiVersion;
|
||||
};
|
||||
|
||||
static Azure::Core::Response<Models::DirectoryListFilesAndDirectoriesSegmentResult>
|
||||
ListFilesAndDirectoriesSegment(
|
||||
static Azure::Core::Response<Models::DirectoryListFilesAndDirectoriesSinglePageResult>
|
||||
ListFilesAndDirectoriesSinglePage(
|
||||
const Azure::Core::Http::Url& url,
|
||||
Azure::Core::Http::HttpPipeline& pipeline,
|
||||
Azure::Core::Context context,
|
||||
const ListFilesAndDirectoriesSegmentOptions& listFilesAndDirectoriesSegmentOptions)
|
||||
const ListFilesAndDirectoriesSinglePageOptions&
|
||||
listFilesAndDirectoriesSinglePageOptions)
|
||||
{
|
||||
Azure::Core::Http::Request request(Azure::Core::Http::HttpMethod::Get, url);
|
||||
request.GetUrl().AppendQueryParameter(Details::QueryRestype, "directory");
|
||||
request.GetUrl().AppendQueryParameter(Details::QueryComp, "list");
|
||||
if (listFilesAndDirectoriesSegmentOptions.Prefix.HasValue())
|
||||
if (listFilesAndDirectoriesSinglePageOptions.Prefix.HasValue())
|
||||
{
|
||||
request.GetUrl().AppendQueryParameter(
|
||||
Details::QueryPrefix,
|
||||
Storage::Details::UrlEncodeQueryParameter(
|
||||
listFilesAndDirectoriesSegmentOptions.Prefix.GetValue()));
|
||||
listFilesAndDirectoriesSinglePageOptions.Prefix.GetValue()));
|
||||
}
|
||||
if (listFilesAndDirectoriesSegmentOptions.ShareSnapshot.HasValue())
|
||||
if (listFilesAndDirectoriesSinglePageOptions.ShareSnapshot.HasValue())
|
||||
{
|
||||
request.GetUrl().AppendQueryParameter(
|
||||
Details::QueryShareSnapshot,
|
||||
Storage::Details::UrlEncodeQueryParameter(
|
||||
listFilesAndDirectoriesSegmentOptions.ShareSnapshot.GetValue()));
|
||||
listFilesAndDirectoriesSinglePageOptions.ShareSnapshot.GetValue()));
|
||||
}
|
||||
if (listFilesAndDirectoriesSegmentOptions.ContinuationToken.HasValue())
|
||||
if (listFilesAndDirectoriesSinglePageOptions.ContinuationToken.HasValue())
|
||||
{
|
||||
request.GetUrl().AppendQueryParameter(
|
||||
Details::QueryContinuationToken,
|
||||
Storage::Details::UrlEncodeQueryParameter(
|
||||
listFilesAndDirectoriesSegmentOptions.ContinuationToken.GetValue()));
|
||||
listFilesAndDirectoriesSinglePageOptions.ContinuationToken.GetValue()));
|
||||
}
|
||||
if (listFilesAndDirectoriesSegmentOptions.MaxResults.HasValue())
|
||||
if (listFilesAndDirectoriesSinglePageOptions.MaxResults.HasValue())
|
||||
{
|
||||
request.GetUrl().AppendQueryParameter(
|
||||
Details::QueryMaxResults,
|
||||
Storage::Details::UrlEncodeQueryParameter(
|
||||
std::to_string(listFilesAndDirectoriesSegmentOptions.MaxResults.GetValue())));
|
||||
Details::QueryPageSizeHint,
|
||||
Storage::Details::UrlEncodeQueryParameter(std::to_string(
|
||||
listFilesAndDirectoriesSinglePageOptions.MaxResults.GetValue())));
|
||||
}
|
||||
if (listFilesAndDirectoriesSegmentOptions.Timeout.HasValue())
|
||||
if (listFilesAndDirectoriesSinglePageOptions.Timeout.HasValue())
|
||||
{
|
||||
request.GetUrl().AppendQueryParameter(
|
||||
Details::QueryTimeout,
|
||||
Storage::Details::UrlEncodeQueryParameter(
|
||||
std::to_string(listFilesAndDirectoriesSegmentOptions.Timeout.GetValue())));
|
||||
std::to_string(listFilesAndDirectoriesSinglePageOptions.Timeout.GetValue())));
|
||||
}
|
||||
request.AddHeader(
|
||||
Details::HeaderVersion, listFilesAndDirectoriesSegmentOptions.ApiVersionParameter);
|
||||
return ListFilesAndDirectoriesSegmentParseResult(
|
||||
Details::HeaderVersion, listFilesAndDirectoriesSinglePageOptions.ApiVersionParameter);
|
||||
return ListFilesAndDirectoriesSinglePageParseResult(
|
||||
context, pipeline.Send(context, request));
|
||||
}
|
||||
|
||||
@ -4446,7 +4449,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
if (listHandlesOptions.MaxResults.HasValue())
|
||||
{
|
||||
request.GetUrl().AppendQueryParameter(
|
||||
Details::QueryMaxResults,
|
||||
Details::QueryPageSizeHint,
|
||||
Storage::Details::UrlEncodeQueryParameter(
|
||||
std::to_string(listHandlesOptions.MaxResults.GetValue())));
|
||||
}
|
||||
@ -4689,8 +4692,8 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
}
|
||||
}
|
||||
|
||||
static Azure::Core::Response<Models::DirectoryListFilesAndDirectoriesSegmentResult>
|
||||
ListFilesAndDirectoriesSegmentParseResult(
|
||||
static Azure::Core::Response<Models::DirectoryListFilesAndDirectoriesSinglePageResult>
|
||||
ListFilesAndDirectoriesSinglePageParseResult(
|
||||
Azure::Core::Context context,
|
||||
std::unique_ptr<Azure::Core::Http::RawResponse> responsePtr)
|
||||
{
|
||||
@ -4701,12 +4704,12 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
const auto& bodyBuffer = response.GetBody();
|
||||
auto reader = Storage::Details::XmlReader(
|
||||
reinterpret_cast<const char*>(bodyBuffer.data()), bodyBuffer.size());
|
||||
Models::DirectoryListFilesAndDirectoriesSegmentResult result = bodyBuffer.empty()
|
||||
? Models::DirectoryListFilesAndDirectoriesSegmentResult()
|
||||
: DirectoryListFilesAndDirectoriesSegmentResultFromListFilesAndDirectoriesSegmentResponse(
|
||||
ListFilesAndDirectoriesSegmentResponseFromXml(reader));
|
||||
Models::DirectoryListFilesAndDirectoriesSinglePageResult result = bodyBuffer.empty()
|
||||
? Models::DirectoryListFilesAndDirectoriesSinglePageResult()
|
||||
: DirectoryListFilesAndDirectoriesSinglePageResultFromListFilesAndDirectoriesSinglePageResponse(
|
||||
ListFilesAndDirectoriesSinglePageResponseFromXml(reader));
|
||||
result.HttpHeaders.ContentType = response.GetHeaders().at(Details::HeaderContentType);
|
||||
return Azure::Core::Response<Models::DirectoryListFilesAndDirectoriesSegmentResult>(
|
||||
return Azure::Core::Response<Models::DirectoryListFilesAndDirectoriesSinglePageResult>(
|
||||
std::move(result), std::move(responsePtr));
|
||||
}
|
||||
else
|
||||
@ -4880,10 +4883,10 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
return result;
|
||||
}
|
||||
|
||||
static Models::FilesAndDirectoriesListSegment FilesAndDirectoriesListSegmentFromXml(
|
||||
static Models::FilesAndDirectoriesListSinglePage FilesAndDirectoriesListSinglePageFromXml(
|
||||
Storage::Details::XmlReader& reader)
|
||||
{
|
||||
auto result = Models::FilesAndDirectoriesListSegment();
|
||||
auto result = Models::FilesAndDirectoriesListSinglePage();
|
||||
enum class XmlTagName
|
||||
{
|
||||
Directory,
|
||||
@ -4943,10 +4946,10 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
return result;
|
||||
}
|
||||
|
||||
static Models::ListFilesAndDirectoriesSegmentResponse
|
||||
ListFilesAndDirectoriesSegmentResponseFromXml(Storage::Details::XmlReader& reader)
|
||||
static Models::ListFilesAndDirectoriesSinglePageResponse
|
||||
ListFilesAndDirectoriesSinglePageResponseFromXml(Storage::Details::XmlReader& reader)
|
||||
{
|
||||
auto result = Models::ListFilesAndDirectoriesSegmentResponse();
|
||||
auto result = Models::ListFilesAndDirectoriesSinglePageResponse();
|
||||
enum class XmlTagName
|
||||
{
|
||||
Entries,
|
||||
@ -5012,7 +5015,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
if (path.size() == 2 && path[0] == XmlTagName::EnumerationResults
|
||||
&& path[1] == XmlTagName::Entries)
|
||||
{
|
||||
result.Segment = FilesAndDirectoriesListSegmentFromXml(reader);
|
||||
result.SinglePage = FilesAndDirectoriesListSinglePageFromXml(reader);
|
||||
path.pop_back();
|
||||
}
|
||||
}
|
||||
@ -5027,7 +5030,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
path.size() == 2 && path[0] == XmlTagName::EnumerationResults
|
||||
&& path[1] == XmlTagName::MaxResults)
|
||||
{
|
||||
result.MaxResults = std::stoi(node.Value);
|
||||
result.PageSizeHint = std::stoi(node.Value);
|
||||
}
|
||||
else if (
|
||||
path.size() == 2 && path[0] == XmlTagName::EnumerationResults
|
||||
@ -5072,19 +5075,19 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
return result;
|
||||
}
|
||||
|
||||
static Models::DirectoryListFilesAndDirectoriesSegmentResult
|
||||
DirectoryListFilesAndDirectoriesSegmentResultFromListFilesAndDirectoriesSegmentResponse(
|
||||
Models::ListFilesAndDirectoriesSegmentResponse object)
|
||||
static Models::DirectoryListFilesAndDirectoriesSinglePageResult
|
||||
DirectoryListFilesAndDirectoriesSinglePageResultFromListFilesAndDirectoriesSinglePageResponse(
|
||||
Models::ListFilesAndDirectoriesSinglePageResponse object)
|
||||
{
|
||||
Models::DirectoryListFilesAndDirectoriesSegmentResult result;
|
||||
Models::DirectoryListFilesAndDirectoriesSinglePageResult result;
|
||||
result.ServiceEndpoint = std::move(object.ServiceEndpoint);
|
||||
result.ShareName = std::move(object.ShareName);
|
||||
result.ShareSnapshot = std::move(object.ShareSnapshot);
|
||||
result.DirectoryPath = std::move(object.DirectoryPath);
|
||||
result.Prefix = std::move(object.Prefix);
|
||||
result.PreviousContinuationToken = std::move(object.PreviousContinuationToken);
|
||||
result.MaxResults = object.MaxResults;
|
||||
result.Segment = std::move(object.Segment);
|
||||
result.PageSizeHint = object.PageSizeHint;
|
||||
result.SinglePage = std::move(object.SinglePage);
|
||||
result.ContinuationToken = std::move(object.ContinuationToken);
|
||||
|
||||
return result;
|
||||
@ -6170,7 +6173,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
if (listHandlesOptions.MaxResults.HasValue())
|
||||
{
|
||||
request.GetUrl().AppendQueryParameter(
|
||||
Details::QueryMaxResults,
|
||||
Details::QueryPageSizeHint,
|
||||
Storage::Details::UrlEncodeQueryParameter(
|
||||
std::to_string(listHandlesOptions.MaxResults.GetValue())));
|
||||
}
|
||||
|
||||
@ -208,13 +208,13 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
/**
|
||||
* @brief List files and directories under the directory.
|
||||
* @param options Optional parameters to list the files and directories under this directory.
|
||||
* @return Azure::Core::Response<Models::ListFilesAndDirectoriesSegmentResult> containing the
|
||||
* @return Azure::Core::Response<Models::ListFilesAndDirectoriesSinglePageResult> containing the
|
||||
* information of the operation, directory, share and the listed result.
|
||||
*/
|
||||
Azure::Core::Response<Models::ListFilesAndDirectoriesSegmentResult>
|
||||
ListFilesAndDirectoriesSegment(
|
||||
const ListFilesAndDirectoriesSegmentOptions& options
|
||||
= ListFilesAndDirectoriesSegmentOptions()) const;
|
||||
Azure::Core::Response<Models::ListFilesAndDirectoriesSinglePageResult>
|
||||
ListFilesAndDirectoriesSinglePage(
|
||||
const ListFilesAndDirectoriesSinglePageOptions& options
|
||||
= ListFilesAndDirectoriesSinglePageOptions()) const;
|
||||
|
||||
private:
|
||||
Azure::Core::Http::Url m_shareUri;
|
||||
|
||||
@ -145,23 +145,23 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
/**
|
||||
* @brief List files and directories under the directory.
|
||||
* @param options Optional parameters to list the files and directories under this directory.
|
||||
* @return Azure::Core::Response<Models::ListFilesAndDirectoriesSegmentResult> containing the
|
||||
* @return Azure::Core::Response<Models::ListFilesAndDirectoriesSinglePageResult> containing the
|
||||
* information of the operation, directory, share and the listed result.
|
||||
*/
|
||||
Azure::Core::Response<Models::ListFilesAndDirectoriesSegmentResult>
|
||||
ListFilesAndDirectoriesSegment(
|
||||
const ListFilesAndDirectoriesSegmentOptions& options
|
||||
= ListFilesAndDirectoriesSegmentOptions()) const;
|
||||
Azure::Core::Response<Models::ListFilesAndDirectoriesSinglePageResult>
|
||||
ListFilesAndDirectoriesSinglePage(
|
||||
const ListFilesAndDirectoriesSinglePageOptions& options
|
||||
= ListFilesAndDirectoriesSinglePageOptions()) const;
|
||||
|
||||
/**
|
||||
* @brief List open handles on the directory.
|
||||
* @param options Optional parameters to list this directory's open handles.
|
||||
* @return Azure::Core::Response<Models::ListDirectoryHandlesSegmentResult> containing the
|
||||
* @return Azure::Core::Response<Models::ListDirectoryHandlesSinglePageResult> containing the
|
||||
* information of the operation and the open handles of this directory
|
||||
*/
|
||||
Azure::Core::Response<Models::ListDirectoryHandlesSegmentResult> ListHandlesSegment(
|
||||
const ListDirectoryHandlesSegmentOptions& options
|
||||
= ListDirectoryHandlesSegmentOptions()) const;
|
||||
Azure::Core::Response<Models::ListDirectoryHandlesSinglePageResult> ListHandlesSinglePage(
|
||||
const ListDirectoryHandlesSinglePageOptions& options
|
||||
= ListDirectoryHandlesSinglePageOptions()) const;
|
||||
|
||||
/**
|
||||
* @brief Closes a handle opened on a directory at the service.
|
||||
|
||||
@ -259,11 +259,11 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
/**
|
||||
* @brief List open handles on the file.
|
||||
* @param options Optional parameters to list this file's open handles.
|
||||
* @return Azure::Core::Response<Models::ListFileHandlesSegmentResult> containing the
|
||||
* @return Azure::Core::Response<Models::ListFileHandlesSinglePageResult> containing the
|
||||
* information of the operation and the open handles of this file
|
||||
*/
|
||||
Azure::Core::Response<Models::ListFileHandlesSegmentResult> ListHandlesSegment(
|
||||
const ListFileHandlesSegmentOptions& options = ListFileHandlesSegmentOptions()) const;
|
||||
Azure::Core::Response<Models::ListFileHandlesSinglePageResult> ListHandlesSinglePage(
|
||||
const ListFileHandlesSinglePageOptions& options = ListFileHandlesSinglePageOptions()) const;
|
||||
|
||||
/**
|
||||
* @brief Closes a handle opened on a file at the service.
|
||||
|
||||
@ -45,7 +45,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
Azure::Core::Http::TransportPolicyOptions TransportPolicyOptions;
|
||||
};
|
||||
|
||||
struct ListSharesSegmentOptions
|
||||
struct ListSharesSinglePageOptions
|
||||
{
|
||||
/**
|
||||
* @brief Context for cancelling long running operations.
|
||||
@ -68,10 +68,10 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
|
||||
/**
|
||||
* @brief Specifies the maximum number of entries to return. If the request does not specify
|
||||
* maxresults, or specifies a value greater than 5,000, the server will return up to 5,000
|
||||
* PageSizeHint, or specifies a value greater than 5,000, the server will return up to 5,000
|
||||
* items.
|
||||
*/
|
||||
Azure::Core::Nullable<int32_t> MaxResults;
|
||||
Azure::Core::Nullable<int32_t> PageSizeHint;
|
||||
|
||||
/**
|
||||
* @brief Include this parameter to specify one or more datasets to include in the response.
|
||||
@ -331,7 +331,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
Azure::Core::Context Context;
|
||||
};
|
||||
|
||||
struct ListFilesAndDirectoriesSegmentOptions
|
||||
struct ListFilesAndDirectoriesSinglePageOptions
|
||||
{
|
||||
/**
|
||||
* @brief Context for cancelling long running operations.
|
||||
@ -354,13 +354,13 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
|
||||
/**
|
||||
* @brief Specifies the maximum number of entries to return. If the request does not specify
|
||||
* maxresults, or specifies a value greater than 5,000, the server will return up to 5,000
|
||||
* PageSizeHint, or specifies a value greater than 5,000, the server will return up to 5,000
|
||||
* items.
|
||||
*/
|
||||
Azure::Core::Nullable<int32_t> MaxResults;
|
||||
Azure::Core::Nullable<int32_t> PageSizeHint;
|
||||
};
|
||||
|
||||
struct ListDirectoryHandlesSegmentOptions
|
||||
struct ListDirectoryHandlesSinglePageOptions
|
||||
{
|
||||
/**
|
||||
* @brief Context for cancelling long running operations.
|
||||
@ -377,10 +377,10 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
|
||||
/**
|
||||
* @brief Specifies the maximum number of entries to return. If the request does not specify
|
||||
* maxresults, or specifies a value greater than 5,000, the server will return up to 5,000
|
||||
* PageSizeHint, or specifies a value greater than 5,000, the server will return up to 5,000
|
||||
* items.
|
||||
*/
|
||||
Azure::Core::Nullable<int32_t> MaxResults;
|
||||
Azure::Core::Nullable<int32_t> PageSizeHint;
|
||||
|
||||
/**
|
||||
* @brief Specifies operation should apply to the directory specified in the URI, its files, its
|
||||
@ -688,7 +688,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
LeaseAccessConditions AccessConditions;
|
||||
};
|
||||
|
||||
struct ListFileHandlesSegmentOptions
|
||||
struct ListFileHandlesSinglePageOptions
|
||||
{
|
||||
/**
|
||||
* @brief Context for cancelling long running operations.
|
||||
@ -705,10 +705,10 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
|
||||
/**
|
||||
* @brief Specifies the maximum number of entries to return. If the request does not specify
|
||||
* maxresults, or specifies a value greater than 5,000, the server will return up to 5,000
|
||||
* PageSizeHint, or specifies a value greater than 5,000, the server will return up to 5,000
|
||||
* items.
|
||||
*/
|
||||
Azure::Core::Nullable<int32_t> MaxResults;
|
||||
Azure::Core::Nullable<int32_t> PageSizeHint;
|
||||
};
|
||||
|
||||
struct ForceCloseFileHandleOptions
|
||||
|
||||
@ -11,7 +11,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { names
|
||||
|
||||
// ServiceClient models:
|
||||
|
||||
using ListSharesSegmentResult = ServiceListSharesSegmentResult;
|
||||
using ListSharesSinglePageResult = ServiceListSharesSinglePageResult;
|
||||
using SetServicePropertiesResult = ServiceSetPropertiesResult;
|
||||
using GetServicePropertiesResult = StorageServiceProperties;
|
||||
|
||||
@ -45,7 +45,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { names
|
||||
{
|
||||
};
|
||||
|
||||
struct ListFilesAndDirectoriesSegmentResult
|
||||
struct ListFilesAndDirectoriesSinglePageResult
|
||||
{
|
||||
std::string ServiceEndpoint;
|
||||
std::string ShareName;
|
||||
@ -53,13 +53,13 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { names
|
||||
std::string DirectoryPath;
|
||||
std::string Prefix;
|
||||
std::string PreviousContinuationToken;
|
||||
int32_t MaxResults = int32_t();
|
||||
int32_t PageSizeHint = int32_t();
|
||||
std::string ContinuationToken;
|
||||
std::vector<DirectoryItem> DirectoryItems;
|
||||
std::vector<FileItem> FileItems;
|
||||
};
|
||||
|
||||
struct ListDirectoryHandlesSegmentResult
|
||||
struct ListDirectoryHandlesSinglePageResult
|
||||
{
|
||||
std::vector<HandleItem> Handles;
|
||||
std::string ContinuationToken;
|
||||
@ -104,7 +104,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { names
|
||||
using ClearFileRangeResult = FileUploadRangeResult;
|
||||
using UploadFileRangeFromUrlResult = FileUploadRangeFromUrlResult;
|
||||
using GetFileRangeListResult = FileGetRangeListResult;
|
||||
using ListFileHandlesSegmentResult = ListDirectoryHandlesSegmentResult;
|
||||
using ListFileHandlesSinglePageResult = ListDirectoryHandlesSinglePageResult;
|
||||
using ForceCloseAllFileHandlesResult = FileForceCloseHandlesResult;
|
||||
using AcquireFileLeaseResult = FileAcquireLeaseResult;
|
||||
using ReleaseFileLeaseResult = FileReleaseLeaseResult;
|
||||
|
||||
@ -69,12 +69,12 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
/**
|
||||
* @brief List the shares from the service.
|
||||
* @param options Optional parameters to list the shares.
|
||||
* @return Azure::Core::Response<Models::ListSharesSegmentResult> The results containing the
|
||||
* @return Azure::Core::Response<Models::ListSharesSinglePageResult> The results containing the
|
||||
* shares returned and information used for future list operation on valid result not yet
|
||||
* returned.
|
||||
*/
|
||||
Azure::Core::Response<Models::ListSharesSegmentResult> ListSharesSegment(
|
||||
const ListSharesSegmentOptions& options = ListSharesSegmentOptions()) const;
|
||||
Azure::Core::Response<Models::ListSharesSinglePageResult> ListSharesSinglePage(
|
||||
const ListSharesSinglePageOptions& options = ListSharesSinglePageOptions()) const;
|
||||
|
||||
/**
|
||||
* @brief Set the service's properties.
|
||||
|
||||
@ -228,30 +228,30 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
m_shareUri, *m_pipeline, options.Context, protocolLayerOptions);
|
||||
}
|
||||
|
||||
Azure::Core::Response<Models::ListFilesAndDirectoriesSegmentResult>
|
||||
ShareClient::ListFilesAndDirectoriesSegment(
|
||||
const ListFilesAndDirectoriesSegmentOptions& options) const
|
||||
Azure::Core::Response<Models::ListFilesAndDirectoriesSinglePageResult>
|
||||
ShareClient::ListFilesAndDirectoriesSinglePage(
|
||||
const ListFilesAndDirectoriesSinglePageOptions& options) const
|
||||
{
|
||||
auto protocolLayerOptions
|
||||
= Details::ShareRestClient::Directory::ListFilesAndDirectoriesSegmentOptions();
|
||||
= Details::ShareRestClient::Directory::ListFilesAndDirectoriesSinglePageOptions();
|
||||
protocolLayerOptions.Prefix = options.Prefix;
|
||||
protocolLayerOptions.ContinuationToken = options.ContinuationToken;
|
||||
protocolLayerOptions.MaxResults = options.MaxResults;
|
||||
auto result = Details::ShareRestClient::Directory::ListFilesAndDirectoriesSegment(
|
||||
protocolLayerOptions.MaxResults = options.PageSizeHint;
|
||||
auto result = Details::ShareRestClient::Directory::ListFilesAndDirectoriesSinglePage(
|
||||
m_shareUri, *m_pipeline, options.Context, protocolLayerOptions);
|
||||
Models::ListFilesAndDirectoriesSegmentResult ret;
|
||||
Models::ListFilesAndDirectoriesSinglePageResult ret;
|
||||
ret.ServiceEndpoint = std::move(result->ServiceEndpoint);
|
||||
ret.ShareName = std::move(result->ShareName);
|
||||
ret.ShareSnapshot = std::move(result->ShareSnapshot);
|
||||
ret.DirectoryPath = std::move(result->DirectoryPath);
|
||||
ret.Prefix = std::move(result->Prefix);
|
||||
ret.PreviousContinuationToken = std::move(result->PreviousContinuationToken);
|
||||
ret.MaxResults = result->MaxResults;
|
||||
ret.PageSizeHint = result->PageSizeHint;
|
||||
ret.ContinuationToken = std::move(result->ContinuationToken);
|
||||
ret.DirectoryItems = std::move(result->Segment.DirectoryItems);
|
||||
ret.FileItems = std::move(result->Segment.FileItems);
|
||||
ret.DirectoryItems = std::move(result->SinglePage.DirectoryItems);
|
||||
ret.FileItems = std::move(result->SinglePage.FileItems);
|
||||
|
||||
return Azure::Core::Response<Models::ListFilesAndDirectoriesSegmentResult>(
|
||||
return Azure::Core::Response<Models::ListFilesAndDirectoriesSinglePageResult>(
|
||||
std::move(ret), result.ExtractRawResponse());
|
||||
}
|
||||
|
||||
|
||||
@ -238,47 +238,47 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
m_shareDirectoryUri, *m_pipeline, options.Context, protocolLayerOptions);
|
||||
}
|
||||
|
||||
Azure::Core::Response<Models::ListFilesAndDirectoriesSegmentResult>
|
||||
ShareDirectoryClient::ListFilesAndDirectoriesSegment(
|
||||
const ListFilesAndDirectoriesSegmentOptions& options) const
|
||||
Azure::Core::Response<Models::ListFilesAndDirectoriesSinglePageResult>
|
||||
ShareDirectoryClient::ListFilesAndDirectoriesSinglePage(
|
||||
const ListFilesAndDirectoriesSinglePageOptions& options) const
|
||||
{
|
||||
auto protocolLayerOptions
|
||||
= Details::ShareRestClient::Directory::ListFilesAndDirectoriesSegmentOptions();
|
||||
= Details::ShareRestClient::Directory::ListFilesAndDirectoriesSinglePageOptions();
|
||||
protocolLayerOptions.Prefix = options.Prefix;
|
||||
protocolLayerOptions.ContinuationToken = options.ContinuationToken;
|
||||
protocolLayerOptions.MaxResults = options.MaxResults;
|
||||
auto result = Details::ShareRestClient::Directory::ListFilesAndDirectoriesSegment(
|
||||
protocolLayerOptions.MaxResults = options.PageSizeHint;
|
||||
auto result = Details::ShareRestClient::Directory::ListFilesAndDirectoriesSinglePage(
|
||||
m_shareDirectoryUri, *m_pipeline, options.Context, protocolLayerOptions);
|
||||
Models::ListFilesAndDirectoriesSegmentResult ret;
|
||||
Models::ListFilesAndDirectoriesSinglePageResult ret;
|
||||
ret.ServiceEndpoint = std::move(result->ServiceEndpoint);
|
||||
ret.ShareName = std::move(result->ShareName);
|
||||
ret.ShareSnapshot = std::move(result->ShareSnapshot);
|
||||
ret.DirectoryPath = std::move(result->DirectoryPath);
|
||||
ret.Prefix = std::move(result->Prefix);
|
||||
ret.PreviousContinuationToken = std::move(result->PreviousContinuationToken);
|
||||
ret.MaxResults = result->MaxResults;
|
||||
ret.PageSizeHint = result->PageSizeHint;
|
||||
ret.ContinuationToken = std::move(result->ContinuationToken);
|
||||
ret.DirectoryItems = std::move(result->Segment.DirectoryItems);
|
||||
ret.FileItems = std::move(result->Segment.FileItems);
|
||||
ret.DirectoryItems = std::move(result->SinglePage.DirectoryItems);
|
||||
ret.FileItems = std::move(result->SinglePage.FileItems);
|
||||
|
||||
return Azure::Core::Response<Models::ListFilesAndDirectoriesSegmentResult>(
|
||||
return Azure::Core::Response<Models::ListFilesAndDirectoriesSinglePageResult>(
|
||||
std::move(ret), result.ExtractRawResponse());
|
||||
}
|
||||
|
||||
Azure::Core::Response<Models::ListDirectoryHandlesSegmentResult>
|
||||
ShareDirectoryClient::ListHandlesSegment(const ListDirectoryHandlesSegmentOptions& options) const
|
||||
Azure::Core::Response<Models::ListDirectoryHandlesSinglePageResult>
|
||||
ShareDirectoryClient::ListHandlesSinglePage(const ListDirectoryHandlesSinglePageOptions& options) const
|
||||
{
|
||||
auto protocolLayerOptions = Details::ShareRestClient::Directory::ListHandlesOptions();
|
||||
protocolLayerOptions.ContinuationToken = options.ContinuationToken;
|
||||
protocolLayerOptions.MaxResults = options.MaxResults;
|
||||
protocolLayerOptions.MaxResults = options.PageSizeHint;
|
||||
protocolLayerOptions.Recursive = options.Recursive;
|
||||
auto result = Details::ShareRestClient::Directory::ListHandles(
|
||||
m_shareDirectoryUri, *m_pipeline, options.Context, protocolLayerOptions);
|
||||
Models::ListDirectoryHandlesSegmentResult ret;
|
||||
Models::ListDirectoryHandlesSinglePageResult ret;
|
||||
ret.ContinuationToken = std::move(result->ContinuationToken);
|
||||
ret.Handles = std::move(result->HandleList);
|
||||
|
||||
return Azure::Core::Response<Models::ListDirectoryHandlesSegmentResult>(
|
||||
return Azure::Core::Response<Models::ListDirectoryHandlesSinglePageResult>(
|
||||
std::move(ret), result.ExtractRawResponse());
|
||||
}
|
||||
|
||||
|
||||
@ -487,19 +487,19 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
m_shareFileUri, *m_pipeline, options.Context, protocolLayerOptions);
|
||||
}
|
||||
|
||||
Azure::Core::Response<Models::ListFileHandlesSegmentResult> ShareFileClient::ListHandlesSegment(
|
||||
const ListFileHandlesSegmentOptions& options) const
|
||||
Azure::Core::Response<Models::ListFileHandlesSinglePageResult> ShareFileClient::ListHandlesSinglePage(
|
||||
const ListFileHandlesSinglePageOptions& options) const
|
||||
{
|
||||
auto protocolLayerOptions = Details::ShareRestClient::File::ListHandlesOptions();
|
||||
protocolLayerOptions.ContinuationToken = options.ContinuationToken;
|
||||
protocolLayerOptions.MaxResults = options.MaxResults;
|
||||
protocolLayerOptions.MaxResults = options.PageSizeHint;
|
||||
auto result = Details::ShareRestClient::File::ListHandles(
|
||||
m_shareFileUri, *m_pipeline, options.Context, protocolLayerOptions);
|
||||
Models::ListFileHandlesSegmentResult ret;
|
||||
Models::ListFileHandlesSinglePageResult ret;
|
||||
ret.ContinuationToken = std::move(result->ContinuationToken);
|
||||
ret.Handles = std::move(result->HandleList);
|
||||
|
||||
return Azure::Core::Response<Models::ListFileHandlesSegmentResult>(
|
||||
return Azure::Core::Response<Models::ListFileHandlesSinglePageResult>(
|
||||
std::move(ret), result.ExtractRawResponse());
|
||||
}
|
||||
|
||||
|
||||
@ -92,15 +92,15 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
return ShareClient(builder, m_pipeline);
|
||||
}
|
||||
|
||||
Azure::Core::Response<Models::ListSharesSegmentResult> ShareServiceClient::ListSharesSegment(
|
||||
const ListSharesSegmentOptions& options) const
|
||||
Azure::Core::Response<Models::ListSharesSinglePageResult> ShareServiceClient::ListSharesSinglePage(
|
||||
const ListSharesSinglePageOptions& options) const
|
||||
{
|
||||
auto protocolLayerOptions = Details::ShareRestClient::Service::ListSharesSegmentOptions();
|
||||
auto protocolLayerOptions = Details::ShareRestClient::Service::ListSharesSinglePageOptions();
|
||||
protocolLayerOptions.ListSharesInclude = options.ListSharesInclude;
|
||||
protocolLayerOptions.ContinuationToken = options.ContinuationToken;
|
||||
protocolLayerOptions.MaxResults = options.MaxResults;
|
||||
protocolLayerOptions.MaxResults = options.PageSizeHint;
|
||||
protocolLayerOptions.Prefix = options.Prefix;
|
||||
return Details::ShareRestClient::Service::ListSharesSegment(
|
||||
return Details::ShareRestClient::Service::ListSharesSinglePage(
|
||||
m_serviceUri, *m_pipeline, options.Context, protocolLayerOptions);
|
||||
}
|
||||
|
||||
|
||||
@ -51,7 +51,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
std::vector<Files::Shares::Models::DirectoryItem> directoryResult;
|
||||
std::vector<Files::Shares::Models::FileItem> fileResult;
|
||||
std::string continuation;
|
||||
Files::Shares::ListFilesAndDirectoriesSegmentOptions options;
|
||||
Files::Shares::ListFilesAndDirectoriesSinglePageOptions options;
|
||||
if (!prefix.empty())
|
||||
{
|
||||
options.Prefix = prefix;
|
||||
@ -59,7 +59,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
auto directoryClient = m_shareClient->GetShareDirectoryClient(directoryPath);
|
||||
do
|
||||
{
|
||||
auto response = directoryClient.ListFilesAndDirectoriesSegment(options);
|
||||
auto response = directoryClient.ListFilesAndDirectoriesSinglePage(options);
|
||||
directoryResult.insert(
|
||||
directoryResult.end(), response->DirectoryItems.begin(), response->DirectoryItems.end());
|
||||
fileResult.insert(fileResult.end(), response->FileItems.begin(), response->FileItems.end());
|
||||
@ -239,7 +239,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(FileShareDirectoryClientTest, ListFilesAndDirectoriesSegmentTest)
|
||||
TEST_F(FileShareDirectoryClientTest, ListFilesAndDirectoriesSinglePageTest)
|
||||
{
|
||||
// Setup
|
||||
auto directoryNameA = LowercaseRandomString();
|
||||
@ -345,17 +345,17 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
}
|
||||
{
|
||||
// List max result
|
||||
Files::Shares::ListFilesAndDirectoriesSegmentOptions options;
|
||||
options.MaxResults = 2;
|
||||
Files::Shares::ListFilesAndDirectoriesSinglePageOptions options;
|
||||
options.PageSizeHint = 2;
|
||||
auto directoryNameAClient = m_shareClient->GetShareDirectoryClient(directoryNameA);
|
||||
auto response = directoryNameAClient.ListFilesAndDirectoriesSegment(options);
|
||||
auto response = directoryNameAClient.ListFilesAndDirectoriesSinglePage(options);
|
||||
EXPECT_LE(2U, response->DirectoryItems.size() + response->FileItems.size());
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(FileShareDirectoryClientTest, HandlesFunctionalityWorks)
|
||||
{
|
||||
auto result = m_fileShareDirectoryClient->ListHandlesSegment();
|
||||
auto result = m_fileShareDirectoryClient->ListHandlesSinglePage();
|
||||
EXPECT_TRUE(result->Handles.empty());
|
||||
EXPECT_TRUE(result->ContinuationToken.empty());
|
||||
EXPECT_NO_THROW(m_fileShareDirectoryClient->ForceCloseAllHandles());
|
||||
|
||||
@ -210,7 +210,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
|
||||
TEST_F(FileShareFileClientTest, HandlesFunctionalityWorks)
|
||||
{
|
||||
auto result = m_fileClient->ListHandlesSegment();
|
||||
auto result = m_fileClient->ListHandlesSinglePage();
|
||||
EXPECT_TRUE(result->Handles.empty());
|
||||
EXPECT_TRUE(result->ContinuationToken.empty());
|
||||
EXPECT_NO_THROW(m_fileClient->ForceCloseAllHandles());
|
||||
|
||||
@ -70,7 +70,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
|
||||
auto verifyFileList = [&](const std::string& sas) {
|
||||
auto shareClient = Files::Shares::ShareClient(shareUri + sas);
|
||||
EXPECT_NO_THROW(shareClient.ListFilesAndDirectoriesSegment());
|
||||
EXPECT_NO_THROW(shareClient.ListFilesAndDirectoriesSinglePage());
|
||||
};
|
||||
|
||||
for (auto permissions :
|
||||
|
||||
@ -68,14 +68,14 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
{
|
||||
std::vector<Files::Shares::Models::ShareItem> result;
|
||||
std::string continuation;
|
||||
Files::Shares::ListSharesSegmentOptions options;
|
||||
Files::Shares::ListSharesSinglePageOptions options;
|
||||
if (!prefix.empty())
|
||||
{
|
||||
options.Prefix = prefix;
|
||||
}
|
||||
do
|
||||
{
|
||||
auto response = m_fileShareServiceClient->ListSharesSegment(options);
|
||||
auto response = m_fileShareServiceClient->ListSharesSinglePage(options);
|
||||
result.insert(result.end(), response->ShareItems.begin(), response->ShareItems.end());
|
||||
continuation = response->ContinuationToken;
|
||||
options.ContinuationToken = continuation;
|
||||
@ -130,9 +130,9 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
}
|
||||
{
|
||||
// List max result
|
||||
Files::Shares::ListSharesSegmentOptions options;
|
||||
options.MaxResults = 2;
|
||||
auto response = m_fileShareServiceClient->ListSharesSegment(options);
|
||||
Files::Shares::ListSharesSinglePageOptions options;
|
||||
options.PageSizeHint = 2;
|
||||
auto response = m_fileShareServiceClient->ListSharesSinglePage(options);
|
||||
EXPECT_LE(2U, response->ShareItems.size());
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user