Seismic Drive Client API
Params.h
Go to the documentation of this file.
1 // ============================================================================
2 // Copyright 2024, Schlumberger
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 
17 #pragma once
18 
19 #include "DLL_EXPORT.h"
20 #include "SDDatasetDisposition.h"
21 
22 #include <memory>
23 #include <string>
24 
25 namespace seismicdrive
26 {
36  struct DLL_PUBLIC Params
37  {
38  Params();
39  explicit Params(const std::string &correlationId);
40  Params &withCorrelationId(const std::string &value);
41  const std::string &getCorrelationId() const;
42 #ifdef _MSC_VER
43  #pragma warning(push)
44  #pragma warning(disable : 4251)
45 #endif
46  struct Impl;
47  std::shared_ptr<Impl> _impl;
48 #ifdef _MSC_VER
49  #pragma warning(pop)
50 #endif
51  };
52 
53  namespace dataset
54  {
63  struct DLL_PUBLIC ParamsOpen : public Params
64  {
65  ParamsOpen();
66  explicit ParamsOpen(const Params &params);
67  explicit ParamsOpen(const SDDatasetDisposition disposition);
68  ParamsOpen &withDisposition(const SDDatasetDisposition value);
69  ParamsOpen &withLegalTag(const std::string &value);
70  ParamsOpen &withWriteId(const std::string &value);
71  ParamsOpen &withSeismicMeta(const std::string &value);
72  ParamsOpen &withPedantic(const bool value);
73  ParamsOpen &withFlushManifest(const bool value);
74  ParamsOpen &withReadonlyOnClose(const bool value);
75  SDDatasetDisposition getDisposition() const;
76  const std::string &getLegalTag() const;
77  const std::string &getWriteId() const;
78  const std::string &getSeismicMeta() const;
79  bool getPedantic() const;
80  bool getFlushManifest() const;
81  bool getReadonlyOnClose() const;
82 #ifdef _MSC_VER
83  #pragma warning(push)
84  #pragma warning(disable : 4251)
85 #endif
86  struct Impl;
87  std::shared_ptr<Impl> _impl;
88 #ifdef _MSC_VER
89  #pragma warning(pop)
90 #endif
91  };
92  } // namespace dataset
93 } // namespace seismicdrive
SDDatasetDisposition
Defines the different Seismic Drive Dataset Dispositions.
Definition: SDDatasetDisposition.h:29
Represents base parameters structure passed to function calls.
Definition: Params.h:36
std::shared_ptr< Impl > _impl
Definition: Params.h:46
Definition: Constants.h:27
Definition: Params.cc:134
Represents parameters passed to dataset &#39;open&#39; request.
Definition: Params.h:63
std::shared_ptr< Impl > _impl
Definition: Params.h:86