olp-cpp-sdk 1.24.0
Loading...
Searching...
No Matches
PublishSdiiRequest.h
1/*
2 * Copyright (C) 2019-2023 HERE Europe B.V.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16 * SPDX-License-Identifier: Apache-2.0
17 * License-Filename: LICENSE
18 */
19
20#pragma once
21
22#include <memory>
23#include <string>
24#include <utility>
25#include <vector>
26
27#include <olp/core/porting/optional.h>
28#include <olp/dataservice/write/DataServiceWriteApi.h>
29
30namespace olp {
31namespace dataservice {
32namespace write {
33namespace model {
44class DATASERVICE_WRITE_API PublishSdiiRequest {
45 public:
46 PublishSdiiRequest() = default;
47 PublishSdiiRequest(const PublishSdiiRequest&) = default;
49 PublishSdiiRequest& operator=(const PublishSdiiRequest&) = default;
50 PublishSdiiRequest& operator=(PublishSdiiRequest&&) = default;
51 virtual ~PublishSdiiRequest() = default;
52
58 inline std::shared_ptr<std::vector<unsigned char>> GetSdiiMessageList()
59 const {
60 return sdii_message_list_;
61 }
62
71 const std::shared_ptr<std::vector<unsigned char>>& sdii_message_list) {
72 sdii_message_list_ = sdii_message_list;
73 return *this;
74 }
75
84 std::shared_ptr<std::vector<unsigned char>>&& sdii_message_list) {
85 sdii_message_list_ = std::move(sdii_message_list);
86 return *this;
87 }
88
94 inline const std::string& GetLayerId() const { return layer_id_; }
95
103 inline PublishSdiiRequest& WithLayerId(const std::string& layer_id) {
104 layer_id_ = layer_id;
105 return *this;
106 }
107
115 inline PublishSdiiRequest& WithLayerId(std::string&& layer_id) {
116 layer_id_ = std::move(layer_id);
117 return *this;
118 }
119
129 inline const porting::optional<std::string>& GetTraceId() const {
130 return trace_id_;
131 }
132
142 inline PublishSdiiRequest& WithTraceId(const std::string& trace_id) {
143 trace_id_ = trace_id;
144 return *this;
145 }
146
156 inline PublishSdiiRequest& WithTraceId(std::string&& trace_id) {
157 trace_id_ = std::move(trace_id);
158 return *this;
159 }
160
171 inline const porting::optional<std::string>& GetBillingTag() const {
172 return billing_tag_;
173 }
174
182 inline PublishSdiiRequest& WithBillingTag(const std::string& billing_tag) {
183 billing_tag_ = billing_tag;
184 return *this;
185 }
186
195 inline PublishSdiiRequest& WithBillingTag(std::string&& billing_tag) {
196 billing_tag_ = std::move(billing_tag);
197 return *this;
198 }
199
211 inline const porting::optional<std::string>& GetChecksum() const {
212 return checksum_;
213 }
214
222 inline PublishSdiiRequest& WithChecksum(const std::string& checksum) {
223 checksum_ = checksum;
224 return *this;
225 }
226
234 inline PublishSdiiRequest& WithChecksum(std::string&& checksum) {
235 checksum_ = std::move(checksum);
236 return *this;
237 }
238
239 private:
240 std::shared_ptr<std::vector<unsigned char>> sdii_message_list_;
241
242 std::string layer_id_;
243
244 porting::optional<std::string> trace_id_;
245
246 porting::optional<std::string> billing_tag_;
247
248 porting::optional<std::string> checksum_;
249};
250
251} // namespace model
252} // namespace write
253} // namespace dataservice
254} // namespace olp
Sends a list of SDII messages to a stream layer.
Definition PublishSdiiRequest.h:44
const porting::optional< std::string > & GetTraceId() const
Gets the trace ID of the request.
Definition PublishSdiiRequest.h:129
PublishSdiiRequest & WithBillingTag(std::string &&billing_tag)
Sets the billing tag for the request.
Definition PublishSdiiRequest.h:195
const porting::optional< std::string > & GetBillingTag() const
Gets the billing tag to group billing records together.
Definition PublishSdiiRequest.h:171
const porting::optional< std::string > & GetChecksum() const
Gets the request checksum.
Definition PublishSdiiRequest.h:211
PublishSdiiRequest & WithLayerId(std::string &&layer_id)
Sets the layer ID of the catalog where you want to store the data.
Definition PublishSdiiRequest.h:115
PublishSdiiRequest & WithBillingTag(const std::string &billing_tag)
Sets the billing tag for the request.
Definition PublishSdiiRequest.h:182
PublishSdiiRequest & WithChecksum(const std::string &checksum)
Sets the request checksum.
Definition PublishSdiiRequest.h:222
std::shared_ptr< std::vector< unsigned char > > GetSdiiMessageList() const
Gets the SDII Message List data.
Definition PublishSdiiRequest.h:58
PublishSdiiRequest & WithSdiiMessageList(std::shared_ptr< std::vector< unsigned char > > &&sdii_message_list)
Sets the SDII Message List data.
Definition PublishSdiiRequest.h:83
const std::string & GetLayerId() const
Gets the layer ID of the catalog where you want to store the data.
Definition PublishSdiiRequest.h:94
PublishSdiiRequest & WithTraceId(const std::string &trace_id)
Sets the trace ID of the request.
Definition PublishSdiiRequest.h:142
PublishSdiiRequest & WithSdiiMessageList(const std::shared_ptr< std::vector< unsigned char > > &sdii_message_list)
Sets the SDII Message List data.
Definition PublishSdiiRequest.h:70
PublishSdiiRequest & WithLayerId(const std::string &layer_id)
Sets the layer ID of the catalog where you want to store the data.
Definition PublishSdiiRequest.h:103
PublishSdiiRequest & WithChecksum(std::string &&checksum)
Sets the request checksum.
Definition PublishSdiiRequest.h:234
PublishSdiiRequest & WithTraceId(std::string &&trace_id)
Sets the trace ID of the request.
Definition PublishSdiiRequest.h:156
Rules all the other namespaces.
Definition AppleSignInProperties.h:24