rad  2.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
hellomalifOpcUaImpl.hpp
Go to the documentation of this file.
1 // GENERATED, DO NOT MANUALLY MODIFY
2 // generator core v1.10
3 // specific generator: C++ OPC UA .hpp Generator v0.6
4 // source: /home/jenkins/workspace/ICS-daily-and-weekly/ifw-rad-daily/test/templates/genMalSm/hello/hellomalif/src/hellomalif.xml
5 
6 #pragma once
7 
8 #include <mal/Mal.hpp>
9 #include <mal/OpcUaMal.hpp>
10 #include <mal/util/OpcUaUtil.hpp>
11 #include <mal/ps/OpcUaDataEntity.hpp>
12 #include <mal/rr/OpcUaClientRrEntity.hpp>
13 #include <mal/bindings/opcua/OpcUaIcdBindings.hpp>
14 #include <mal/types/malTypesOpcUaImpl.hpp>
15 
16 #include <Hellomalif.hpp>
17 
18 
19 namespace elt {
20 namespace mal {
21 namespace icd {
22 namespace opcua {
23 
24 template <>
25 struct MalOpcUaTraits<::hellomalif::LogInfo> {
26  static constexpr size_t dataValueCount =
27  0
28  + ::elt::mal::icd::opcua::Scalar<std::string>::dataValueCount
29  + ::elt::mal::icd::opcua::Scalar<std::string>::dataValueCount
30  ;
31 
32  static std::unique_ptr<::hellomalif::LogInfo> makeImpl();
33  static bool isImpl(const ::hellomalif::LogInfo* object);
34 };
35 
36 } // namespace opcua
37 } // namespace icd
38 } // namespace mal
39 } // namespace elt
40 
41 
42 namespace generated {
43 namespace opcua {
44 
45 namespace hellomalif {
46 class LogInfo:
47  public ::hellomalif::LogInfo,
48  public ::elt::mal::ps::OpcUaDataEntity<::hellomalif::LogInfo>
49 {
50 public:
51  // ::hellomalif::LogInfo
52 
53  std::string getLevel() const override {
54  return dm_level.get();
55  }
56 
57  void setLevel(const std::string& value) override {
58  dm_level = value;
59  }
60 
61  std::string getLogger() const override {
62  return dm_logger.get();
63  }
64 
65  void setLogger(const std::string& value) override {
66  dm_logger = value;
67  }
68 
69  // ::elt::mal::ps::DataEntity
70 
71  std::unique_ptr<::hellomalif::LogInfo> clone() const override {
72  return std::unique_ptr<::hellomalif::LogInfo>(new LogInfo(*this));
73  }
74 
75  bool keyEquals(const ::hellomalif::LogInfo& other) const override {
76  return false;
77  }
78 
79  std::size_t keyHash() const {
80  std::size_t seed = 0;
81  return seed;
82  }
83 
84  std::unique_ptr<::hellomalif::LogInfo> cloneKey() const override {
85  std::unique_ptr<::hellomalif::LogInfo> entity(new LogInfo);
86  return entity;
87  }
88 
89  bool hasKey() const override {
90  return false;
91  }
92 
93  //::elt::mal::ps::OpcUaDataEntity
94 
95  size_t getDataValueCount() const override {
96  return ::elt::mal::icd::opcua::MalOpcUaTraits<::hellomalif::LogInfo>::dataValueCount;
97  }
98 
99  void setOpcUaDataValues(const UA_DataValue *resultIterator) override {
100  resultIterator = dm_level.assignFromDataValue("::hellomalif::LogInfo.level", resultIterator);
101  resultIterator = dm_logger.assignFromDataValue("::hellomalif::LogInfo.logger", resultIterator);
102  }
103 
104  const UA_DataValue* getOpcUaDataValues() const override {
105  auto* fieldIterator = m_dataValues.data();
106 
107  fieldIterator = dm_level.assignToDataValue(fieldIterator);
108  fieldIterator = dm_logger.assignToDataValue(fieldIterator);
109 
110  return m_dataValues.data();
111  }
112 
113  void copy(const ::hellomalif::LogInfo& from) override {
114  dm_level = from.getLevel();
115  dm_logger = from.getLogger();
116  }
117 
118 private:
119  ::elt::mal::icd::opcua::Scalar<std::string> dm_level;
120  ::elt::mal::icd::opcua::Scalar<std::string> dm_logger;
121 
122  mutable std::array<UA_DataValue, ::elt::mal::icd::opcua::MalOpcUaTraits<::hellomalif::LogInfo>::dataValueCount> m_dataValues;
123 };
124 
125 
126 class StdCmdsAsyncImpl :
127  public virtual ::hellomalif::StdCmdsAsync,
128  public virtual ::elt::mal::rr::OpcUaClientRrEntity<::hellomalif::StdCmdsAsync>
129 {
130  public:
131 
133  const ::elt::mal::Uri& uri,
134  const std::vector<std::shared_ptr<::elt::mal::rr::qos::QoS>>& standardQoS,
135  const ::elt::mal::Mal::Properties& malSpecificProperties,
136  const std::shared_ptr<::elt::mal::OpcUaMal>& mal)
137  :
138  ::elt::mal::rr::OpcUaClientRrEntity<StdCmdsAsync>(uri, standardQoS, malSpecificProperties, mal)
139  {}
140 
141 
142  ::elt::mal::future<std::string> Init() override {
143  const auto methodSeqNr = 0;
144 
145 
146  constexpr size_t dataValueCount =
147  0
148  ;
149 
150  std::array<UA_Variant, dataValueCount> arguments;
151 
152  const auto extractor = [](const UA_Variant& resultVariant) {
153  ::elt::mal::icd::opcua::Scalar<std::string> result;
154  result.assignFromVariant("StdCmds::Init (return value)", &resultVariant);
155  return result.get();
156  };
157 
158  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
159  }
160 
161 
162  ::elt::mal::future<std::string> Reset() override {
163  const auto methodSeqNr = 1;
164 
165 
166  constexpr size_t dataValueCount =
167  0
168  ;
169 
170  std::array<UA_Variant, dataValueCount> arguments;
171 
172  const auto extractor = [](const UA_Variant& resultVariant) {
173  ::elt::mal::icd::opcua::Scalar<std::string> result;
174  result.assignFromVariant("StdCmds::Reset (return value)", &resultVariant);
175  return result.get();
176  };
177 
178  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
179  }
180 
181 
182  ::elt::mal::future<std::string> Enable() override {
183  const auto methodSeqNr = 2;
184 
185 
186  constexpr size_t dataValueCount =
187  0
188  ;
189 
190  std::array<UA_Variant, dataValueCount> arguments;
191 
192  const auto extractor = [](const UA_Variant& resultVariant) {
193  ::elt::mal::icd::opcua::Scalar<std::string> result;
194  result.assignFromVariant("StdCmds::Enable (return value)", &resultVariant);
195  return result.get();
196  };
197 
198  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
199  }
200 
201 
202  ::elt::mal::future<std::string> Disable() override {
203  const auto methodSeqNr = 3;
204 
205 
206  constexpr size_t dataValueCount =
207  0
208  ;
209 
210  std::array<UA_Variant, dataValueCount> arguments;
211 
212  const auto extractor = [](const UA_Variant& resultVariant) {
213  ::elt::mal::icd::opcua::Scalar<std::string> result;
214  result.assignFromVariant("StdCmds::Disable (return value)", &resultVariant);
215  return result.get();
216  };
217 
218  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
219  }
220 
221 
222  ::elt::mal::future<std::string> Status() override {
223  const auto methodSeqNr = 4;
224 
225 
226  constexpr size_t dataValueCount =
227  0
228  ;
229 
230  std::array<UA_Variant, dataValueCount> arguments;
231 
232  const auto extractor = [](const UA_Variant& resultVariant) {
233  ::elt::mal::icd::opcua::Scalar<std::string> result;
234  result.assignFromVariant("StdCmds::Status (return value)", &resultVariant);
235  return result.get();
236  };
237 
238  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
239  }
240 
241 
242  ::elt::mal::future<std::string> Config() override {
243  const auto methodSeqNr = 5;
244 
245 
246  constexpr size_t dataValueCount =
247  0
248  ;
249 
250  std::array<UA_Variant, dataValueCount> arguments;
251 
252  const auto extractor = [](const UA_Variant& resultVariant) {
253  ::elt::mal::icd::opcua::Scalar<std::string> result;
254  result.assignFromVariant("StdCmds::Config (return value)", &resultVariant);
255  return result.get();
256  };
257 
258  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
259  }
260 
261 
262  ::elt::mal::future<std::string> Stop() override {
263  const auto methodSeqNr = 6;
264 
265 
266  constexpr size_t dataValueCount =
267  0
268  ;
269 
270  std::array<UA_Variant, dataValueCount> arguments;
271 
272  const auto extractor = [](const UA_Variant& resultVariant) {
273  ::elt::mal::icd::opcua::Scalar<std::string> result;
274  result.assignFromVariant("StdCmds::Stop (return value)", &resultVariant);
275  return result.get();
276  };
277 
278  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
279  }
280 
281 
282  ::elt::mal::future<std::string> Exit() override {
283  const auto methodSeqNr = 7;
284 
285 
286  constexpr size_t dataValueCount =
287  0
288  ;
289 
290  std::array<UA_Variant, dataValueCount> arguments;
291 
292  const auto extractor = [](const UA_Variant& resultVariant) {
293  ::elt::mal::icd::opcua::Scalar<std::string> result;
294  result.assignFromVariant("StdCmds::Exit (return value)", &resultVariant);
295  return result.get();
296  };
297 
298  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
299  }
300 
301 
302  ::elt::mal::future<std::string> SetLogLevel(const std::shared_ptr<::hellomalif::LogInfo>& info) override {
303  const auto methodSeqNr = 8;
304 
305  ::elt::mal::icd::opcua::NestedStructure<::hellomalif::LogInfo> arg_info;
306  arg_info = info;
307 
308  constexpr size_t dataValueCount =
309  0
310  + decltype(arg_info)::dataValueCount
311  ;
312 
313  std::array<UA_Variant, dataValueCount> arguments;
314  auto* argIterator = arguments.data();
315 
316  argIterator = arg_info.assignToVariant(argIterator);
317 
318  const auto extractor = [](const UA_Variant& resultVariant) {
319  ::elt::mal::icd::opcua::Scalar<std::string> result;
320  result.assignFromVariant("StdCmds::SetLogLevel (return value)", &resultVariant);
321  return result.get();
322  };
323 
324  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
325  }
326 
327 };
328 
329 class StdCmdsSyncImpl :
330  public virtual ::hellomalif::StdCmdsSync,
331  public virtual ::elt::mal::rr::OpcUaSyncClientBase
332 {
333  public:
334 
336  const ::elt::mal::Uri& uri,
337  const std::vector<std::shared_ptr<::elt::mal::rr::qos::QoS>>& standardQoS,
338  const ::elt::mal::Mal::Properties& malSpecificProperties,
339  const std::shared_ptr<::elt::mal::OpcUaMal>& mal)
340  :
341  ::elt::mal::rr::OpcUaSyncClientBase(uri, standardQoS, malSpecificProperties, mal),
342  m_asyncClient(uri, standardQoS, malSpecificProperties, mal)
343  {}
344 
345 
346 std::string Init() override {
347  return unpackAsync(m_asyncClient.Init());
348  }
349 
350 
351 std::string Reset() override {
352  return unpackAsync(m_asyncClient.Reset());
353  }
354 
355 
356 std::string Enable() override {
357  return unpackAsync(m_asyncClient.Enable());
358  }
359 
360 
361 std::string Disable() override {
362  return unpackAsync(m_asyncClient.Disable());
363  }
364 
365 
366 std::string Status() override {
367  return unpackAsync(m_asyncClient.Status());
368  }
369 
370 
371 std::string Config() override {
372  return unpackAsync(m_asyncClient.Config());
373  }
374 
375 
376 std::string Stop() override {
377  return unpackAsync(m_asyncClient.Stop());
378  }
379 
380 
381 std::string Exit() override {
382  return unpackAsync(m_asyncClient.Exit());
383  }
384 
385 
386 std::string SetLogLevel(const std::shared_ptr<::hellomalif::LogInfo>& info) override {
387  return unpackAsync(m_asyncClient.SetLogLevel(info));
388  }
389 
390 
391  ::elt::mal::future<void> asyncConnect() override {
392  return m_asyncClient.asyncConnect();
393  }
394 
395  ::elt::mal::rr::ListenerRegistration
396  registerConnectionListener(::elt::mal::rr::ClientRrEntity::ConnectionListener listener) override {
397  return m_asyncClient.registerConnectionListener(std::move(listener));
398  }
399 
400 // std::unique_ptr<::hellomalif::StdCmds> timeout(std::chrono::milliseconds newTimeout) override {
401 // auto newInstance = std::unique_ptr<StdCmdsSyncImpl>(new StdCmdsSyncImpl(*this));
402 // newInstance->m_timeout = newTimeout;
403 // return std::unique_ptr<::hellomalif::StdCmds>(std::move(newInstance));
404 // }
405 
406 private:
407  StdCmdsAsyncImpl m_asyncClient;
408 };
409 } // namespace hellomalif
410 
411 
412 } // namespace opcua
413 } // namespace generated
::elt::mal::future< std::string > Stop() override
Definition: hellomalifOpcUaImpl.hpp:262
::elt::mal::future< std::string > Reset() override
Definition: hellomalifOpcUaImpl.hpp:162
Definition: Hellomalif.hpp:115
size_t getDataValueCount() const override
Definition: hellomalifOpcUaImpl.hpp:95
void setLevel(const std::string &value) override
Definition: hellomalifOpcUaImpl.hpp:57
Definition: Hellomalif.hpp:109
Definition: hellomalifOpcUaImpl.hpp:126
Definition: hellomalifOpcUaImpl.hpp:46
::elt::mal::future< std::string > Disable() override
Definition: hellomalifOpcUaImpl.hpp:202
void setLogger(const std::string &value) override
Definition: hellomalifOpcUaImpl.hpp:65
std::string Reset() override
Definition: hellomalifOpcUaImpl.hpp:351
const UA_DataValue * getOpcUaDataValues() const override
Definition: hellomalifOpcUaImpl.hpp:104
::elt::mal::rr::ListenerRegistration registerConnectionListener(::elt::mal::rr::ClientRrEntity::ConnectionListener listener) override
Definition: hellomalifOpcUaImpl.hpp:396
::elt::mal::future< std::string > Exit() override
Definition: hellomalifOpcUaImpl.hpp:282
StdCmdsAsyncImpl(const ::elt::mal::Uri &uri, const std::vector< std::shared_ptr<::elt::mal::rr::qos::QoS >> &standardQoS, const ::elt::mal::Mal::Properties &malSpecificProperties, const std::shared_ptr<::elt::mal::OpcUaMal > &mal)
Definition: hellomalifOpcUaImpl.hpp:132
StdCmdsSyncImpl(const ::elt::mal::Uri &uri, const std::vector< std::shared_ptr<::elt::mal::rr::qos::QoS >> &standardQoS, const ::elt::mal::Mal::Properties &malSpecificProperties, const std::shared_ptr<::elt::mal::OpcUaMal > &mal)
Definition: hellomalifOpcUaImpl.hpp:335
package generated zpb hellomalif
Definition: hellomalif.proto:11
bool hasKey() const override
Definition: hellomalifOpcUaImpl.hpp:89
::elt::mal::future< void > asyncConnect() override
Definition: hellomalifOpcUaImpl.hpp:391
void copy(const ::hellomalif::LogInfo &from) override
Definition: hellomalifOpcUaImpl.hpp:113
std::string Disable() override
Definition: hellomalifOpcUaImpl.hpp:361
bool keyEquals(const ::hellomalif::LogInfo &other) const override
Definition: hellomalifOpcUaImpl.hpp:75
std::string getLevel() const override
Definition: hellomalifOpcUaImpl.hpp:53
std::string Config() override
Definition: hellomalifOpcUaImpl.hpp:371
::elt::mal::future< std::string > Config() override
Definition: hellomalifOpcUaImpl.hpp:242
std::string getLogger() const override
Definition: hellomalifOpcUaImpl.hpp:61
void setOpcUaDataValues(const UA_DataValue *resultIterator) override
Definition: hellomalifOpcUaImpl.hpp:99
::elt::mal::future< std::string > Enable() override
Definition: hellomalifOpcUaImpl.hpp:182
message LogInfo
Definition: exmalif.proto:23
std::string Stop() override
Definition: hellomalifOpcUaImpl.hpp:376
std::string Init() override
Definition: hellomalifOpcUaImpl.hpp:346
std::unique_ptr<::hellomalif::LogInfo > cloneKey() const override
Definition: hellomalifOpcUaImpl.hpp:84
::elt::mal::future< std::string > SetLogLevel(const std::shared_ptr<::hellomalif::LogInfo > &info) override
Definition: hellomalifOpcUaImpl.hpp:302
std::string Exit() override
Definition: hellomalifOpcUaImpl.hpp:381
::elt::mal::future< std::string > Status() override
Definition: hellomalifOpcUaImpl.hpp:222
std::unique_ptr<::hellomalif::LogInfo > clone() const override
Definition: hellomalifOpcUaImpl.hpp:71
std::string SetLogLevel(const std::shared_ptr<::hellomalif::LogInfo > &info) override
Definition: hellomalifOpcUaImpl.hpp:386
std::size_t keyHash() const
Definition: hellomalifOpcUaImpl.hpp:79
std::string Enable() override
Definition: hellomalifOpcUaImpl.hpp:356
::elt::mal::future< std::string > Init() override
Definition: hellomalifOpcUaImpl.hpp:142
std::string Status() override
Definition: hellomalifOpcUaImpl.hpp:366
Definition: Hellomalif.hpp:50