25#include <olp/core/client/ApiError.h>
26#include <olp/core/client/ApiNoResult.h>
27#include <olp/core/client/ApiResponse.h>
28#include <olp/core/client/OlpClientSettings.h>
29#include <olp/core/porting/deprecated.h>
31#include <olp/dataservice/write/DataServiceWriteApi.h>
32#include <olp/dataservice/write/generated/model/Publication.h>
33#include <olp/dataservice/write/generated/model/ResponseOkSingle.h>
34#include <olp/dataservice/write/model/PublishPartitionDataRequest.h>
35#include <olp/dataservice/write/model/StartBatchRequest.h>
36#include <olp/dataservice/write/model/VersionResponse.h>
44namespace dataservice {
46class VolatileLayerClientImpl;
48using PublishPartitionDataResult =
50using PublishPartitionDataResponse =
51 client::ApiResponse<PublishPartitionDataResult, client::ApiError>;
52using PublishPartitionDataCallback =
53 std::function<void(PublishPartitionDataResponse response)>;
55using GetBaseVersionResult = model::VersionResponse;
56using GetBaseVersionResponse =
57 client::ApiResponse<GetBaseVersionResult, client::ApiError>;
58using GetBaseVersionCallback = std::function<void(GetBaseVersionResponse)>;
60using StartBatchResult = model::Publication;
61using StartBatchResponse =
62 client::ApiResponse<StartBatchResult, client::ApiError>;
63using StartBatchCallback = std::function<void(StartBatchResponse)>;
65using GetBatchResult = model::Publication;
66using GetBatchResponse = client::ApiResponse<GetBatchResult, client::ApiError>;
67using GetBatchCallback = std::function<void(GetBatchResponse)>;
69using PublishToBatchResult = client::ApiNoResult;
70using PublishToBatchResponse =
71 client::ApiResponse<PublishToBatchResult, client::ApiError>;
72using PublishToBatchCallback =
73 std::function<void(PublishToBatchResponse response)>;
75using CompleteBatchResult = client::ApiNoResult;
76using CompleteBatchResponse =
77 client::ApiResponse<CompleteBatchResult, client::ApiError>;
78using CompleteBatchCallback =
79 std::function<void(CompleteBatchResponse response)>;
130 PublishPartitionDataCallback callback);
150 GetBaseVersionCallback callback);
173 StartBatchCallback callback);
197 GetBatchCallback callback);
223 const std::vector<model::PublishPartitionDataRequest>& partitions);
251 const std::vector<model::PublishPartitionDataRequest>& partitions,
252 PublishToBatchCallback callback);
275 CompleteBatchCallback callback);
278 std::shared_ptr<VolatileLayerClientImpl> impl_;
A wrapper template that you can use to cancel a request or wait for it to finalize.
Definition ApiResponse.h:281
Cancels service requests.
Definition CancellationToken.h:33
Allows a Here Resource Name (HRN) to be passed to the operations that require it.
Definition HRN.h:34
Publishes data to a volatile layer.
Definition VolatileLayerClient.h:82
VolatileLayerClient(client::HRN catalog, client::OlpClientSettings settings)
Creates the VolatileLayerClient instance.
olp::client::CancellableFuture< PublishPartitionDataResponse > PublishPartitionData(model::PublishPartitionDataRequest request)
Publishes data to the volatile layer.
olp::client::CancellationToken GetBaseVersion(GetBaseVersionCallback callback)
Gets the latest version number of the catalog.
olp::client::CancellationToken PublishToBatch(const model::Publication &pub, const std::vector< model::PublishPartitionDataRequest > &partitions, PublishToBatchCallback callback)
Publishes metadata to the HERE platform.
olp::client::CancellableFuture< CompleteBatchResponse > CompleteBatch(const model::Publication &pub)
Completes the batch operation and commits it to the HERE platform.
olp::client::CancellableFuture< GetBatchResponse > GetBatch(const model::Publication &pub)
Gets the details of the batch publication.
olp::client::CancellationToken PublishPartitionData(model::PublishPartitionDataRequest request, PublishPartitionDataCallback callback)
Publishes data to the volatile layer.
olp::client::CancellationToken StartBatch(model::StartBatchRequest request, StartBatchCallback callback)
Starts the batch operation.
olp::client::CancellationToken CompleteBatch(const model::Publication &pub, CompleteBatchCallback callback)
Completes the batch operation and commits it to the HERE platform.
olp::client::CancellableFuture< GetBaseVersionResponse > GetBaseVersion()
Gets the latest version number of the catalog.
olp::client::CancellableFuture< StartBatchResponse > StartBatch(model::StartBatchRequest request)
Starts the batch operation.
olp::client::CancellationToken GetBatch(const model::Publication &pub, GetBatchCallback callback)
Gets the details of the batch publication.
void CancelPendingRequests()
Cancels all the ongoing operations that this client started.
olp::client::CancellableFuture< PublishToBatchResponse > PublishToBatch(const model::Publication &pub, const std::vector< model::PublishPartitionDataRequest > &partitions)
Publishes metadata to the HERE platform.
Contains information on a publication.
Definition Publication.h:36
Publishes data to a versioned and volatile layer.
Definition PublishPartitionDataRequest.h:35
Represents a response to a successful data upload operation to a catalog layer.
Definition ResponseOkSingle.h:34
Starts a versioned batch operation.
Definition StartBatchRequest.h:36
Rules all the other namespaces.
Definition AppleSignInProperties.h:24
Configures the behavior of the OlpClient class.
Definition OlpClientSettings.h:178