rad  3.0.0
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.61
4 // source: /home/eltdev/workspace/ICS/RAD/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 
119 private:
120  ::elt::mal::icd::opcua::Scalar<std::string> dm_level;
121  ::elt::mal::icd::opcua::Scalar<std::string> dm_logger;
122 
123  mutable std::array<UA_DataValue, ::elt::mal::icd::opcua::MalOpcUaTraits<::hellomalif::LogInfo>::dataValueCount> m_dataValues;
124 };
125 
126 
128  public virtual ::hellomalif::StdCmdsAsync,
129  public virtual ::elt::mal::rr::OpcUaClientRrEntity<::hellomalif::StdCmdsAsync>
130 {
131  public:
132 
134  const ::elt::mal::Uri& uri,
135  const std::vector<std::shared_ptr<::elt::mal::rr::qos::QoS>>& standardQoS,
136  const ::elt::mal::Mal::Properties& malSpecificProperties,
137  const std::shared_ptr<::elt::mal::OpcUaMal>& mal)
138  :
139  ::elt::mal::rr::OpcUaClientRrEntity<StdCmdsAsync>(uri, standardQoS, malSpecificProperties, mal)
140  {}
141 
142 
143  ::elt::mal::future<std::string> Init() override {
144  const auto methodSeqNr = 0;
145 
146 
147  constexpr size_t dataValueCount =
148  0
149  ;
150 
151  std::array<UA_Variant, dataValueCount> arguments;
152 
153  const auto extractor = [](const UA_Variant& resultVariant) {
154  ::elt::mal::icd::opcua::Scalar<std::string> result;
155  result.assignFromVariant("StdCmds::Init (return value)", &resultVariant);
156  return result.get();
157  };
158 
159  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
160  }
161 
162 
163  ::elt::mal::future<std::string> Reset() override {
164  const auto methodSeqNr = 1;
165 
166 
167  constexpr size_t dataValueCount =
168  0
169  ;
170 
171  std::array<UA_Variant, dataValueCount> arguments;
172 
173  const auto extractor = [](const UA_Variant& resultVariant) {
174  ::elt::mal::icd::opcua::Scalar<std::string> result;
175  result.assignFromVariant("StdCmds::Reset (return value)", &resultVariant);
176  return result.get();
177  };
178 
179  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
180  }
181 
182 
183  ::elt::mal::future<std::string> Enable() override {
184  const auto methodSeqNr = 2;
185 
186 
187  constexpr size_t dataValueCount =
188  0
189  ;
190 
191  std::array<UA_Variant, dataValueCount> arguments;
192 
193  const auto extractor = [](const UA_Variant& resultVariant) {
194  ::elt::mal::icd::opcua::Scalar<std::string> result;
195  result.assignFromVariant("StdCmds::Enable (return value)", &resultVariant);
196  return result.get();
197  };
198 
199  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
200  }
201 
202 
203  ::elt::mal::future<std::string> Disable() override {
204  const auto methodSeqNr = 3;
205 
206 
207  constexpr size_t dataValueCount =
208  0
209  ;
210 
211  std::array<UA_Variant, dataValueCount> arguments;
212 
213  const auto extractor = [](const UA_Variant& resultVariant) {
214  ::elt::mal::icd::opcua::Scalar<std::string> result;
215  result.assignFromVariant("StdCmds::Disable (return value)", &resultVariant);
216  return result.get();
217  };
218 
219  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
220  }
221 
222 
223  ::elt::mal::future<std::string> GetState() override {
224  const auto methodSeqNr = 4;
225 
226 
227  constexpr size_t dataValueCount =
228  0
229  ;
230 
231  std::array<UA_Variant, dataValueCount> arguments;
232 
233  const auto extractor = [](const UA_Variant& resultVariant) {
234  ::elt::mal::icd::opcua::Scalar<std::string> result;
235  result.assignFromVariant("StdCmds::GetState (return value)", &resultVariant);
236  return result.get();
237  };
238 
239  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
240  }
241 
242 
243  ::elt::mal::future<std::string> GetStatus() override {
244  const auto methodSeqNr = 5;
245 
246 
247  constexpr size_t dataValueCount =
248  0
249  ;
250 
251  std::array<UA_Variant, dataValueCount> arguments;
252 
253  const auto extractor = [](const UA_Variant& resultVariant) {
254  ::elt::mal::icd::opcua::Scalar<std::string> result;
255  result.assignFromVariant("StdCmds::GetStatus (return value)", &resultVariant);
256  return result.get();
257  };
258 
259  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
260  }
261 
262 
263  ::elt::mal::future<std::string> GetVersion() override {
264  const auto methodSeqNr = 6;
265 
266 
267  constexpr size_t dataValueCount =
268  0
269  ;
270 
271  std::array<UA_Variant, dataValueCount> arguments;
272 
273  const auto extractor = [](const UA_Variant& resultVariant) {
274  ::elt::mal::icd::opcua::Scalar<std::string> result;
275  result.assignFromVariant("StdCmds::GetVersion (return value)", &resultVariant);
276  return result.get();
277  };
278 
279  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
280  }
281 
282 
283  ::elt::mal::future<std::string> Stop() override {
284  const auto methodSeqNr = 7;
285 
286 
287  constexpr size_t dataValueCount =
288  0
289  ;
290 
291  std::array<UA_Variant, dataValueCount> arguments;
292 
293  const auto extractor = [](const UA_Variant& resultVariant) {
294  ::elt::mal::icd::opcua::Scalar<std::string> result;
295  result.assignFromVariant("StdCmds::Stop (return value)", &resultVariant);
296  return result.get();
297  };
298 
299  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
300  }
301 
302 
303  ::elt::mal::future<std::string> Exit() override {
304  const auto methodSeqNr = 8;
305 
306 
307  constexpr size_t dataValueCount =
308  0
309  ;
310 
311  std::array<UA_Variant, dataValueCount> arguments;
312 
313  const auto extractor = [](const UA_Variant& resultVariant) {
314  ::elt::mal::icd::opcua::Scalar<std::string> result;
315  result.assignFromVariant("StdCmds::Exit (return value)", &resultVariant);
316  return result.get();
317  };
318 
319  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
320  }
321 
322 
323  ::elt::mal::future<std::string> SetLogLevel( const std::shared_ptr<::hellomalif::LogInfo>& info) override {
324  const auto methodSeqNr = 9;
325 
326  ::elt::mal::icd::opcua::NestedStructure<::hellomalif::LogInfo> arg_info;
327  arg_info = info;
328 
329  constexpr size_t dataValueCount =
330  0
331  + decltype(arg_info)::dataValueCount
332  ;
333 
334  std::array<UA_Variant, dataValueCount> arguments;
335  auto* argIterator = arguments.data();
336 
337  argIterator = arg_info.assignToVariant(argIterator);
338 
339  const auto extractor = [](const UA_Variant& resultVariant) {
340  ::elt::mal::icd::opcua::Scalar<std::string> result;
341  result.assignFromVariant("StdCmds::SetLogLevel (return value)", &resultVariant);
342  return result.get();
343  };
344 
345  return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
346  }
347 
348 };
349 
351  public virtual ::hellomalif::StdCmdsSync,
352  public virtual ::elt::mal::rr::OpcUaSyncClientBase
353 {
354  public:
355 
357  const ::elt::mal::Uri& uri,
358  const std::vector<std::shared_ptr<::elt::mal::rr::qos::QoS>>& standardQoS,
359  const ::elt::mal::Mal::Properties& malSpecificProperties,
360  const std::shared_ptr<::elt::mal::OpcUaMal>& mal)
361  :
362  ::elt::mal::rr::OpcUaSyncClientBase(uri, standardQoS, malSpecificProperties, mal),
363  m_asyncClient(uri, standardQoS, malSpecificProperties, mal)
364  {}
365 
366 
367 std::string Init() override {
368  return unpackAsync(m_asyncClient.Init());
369  }
370 
371 
372 std::string Reset() override {
373  return unpackAsync(m_asyncClient.Reset());
374  }
375 
376 
377 std::string Enable() override {
378  return unpackAsync(m_asyncClient.Enable());
379  }
380 
381 
382 std::string Disable() override {
383  return unpackAsync(m_asyncClient.Disable());
384  }
385 
386 
387 std::string GetState() override {
388  return unpackAsync(m_asyncClient.GetState());
389  }
390 
391 
392 std::string GetStatus() override {
393  return unpackAsync(m_asyncClient.GetStatus());
394  }
395 
396 
397 std::string GetVersion() override {
398  return unpackAsync(m_asyncClient.GetVersion());
399  }
400 
401 
402 std::string Stop() override {
403  return unpackAsync(m_asyncClient.Stop());
404  }
405 
406 
407 std::string Exit() override {
408  return unpackAsync(m_asyncClient.Exit());
409  }
410 
411 
412 std::string SetLogLevel( const std::shared_ptr<::hellomalif::LogInfo>& info) override {
413  return unpackAsync(m_asyncClient.SetLogLevel(info));
414  }
415 
416 
417  ::elt::mal::future<void> asyncConnect() override {
418  return m_asyncClient.asyncConnect();
419  }
420 
421  ::elt::mal::rr::ListenerRegistration
422  registerConnectionListener(::elt::mal::rr::ClientRrEntity::ConnectionListener listener) override {
423  return m_asyncClient.registerConnectionListener(std::move(listener));
424  }
425 
426 // std::unique_ptr<::hellomalif::StdCmds> timeout(std::chrono::milliseconds newTimeout) override {
427 // auto newInstance = std::unique_ptr<StdCmdsSyncImpl>(new StdCmdsSyncImpl(*this));
428 // newInstance->m_timeout = newTimeout;
429 // return std::unique_ptr<::hellomalif::StdCmds>(std::move(newInstance));
430 // }
431 
432 private:
433  StdCmdsAsyncImpl m_asyncClient;
434 };
435 } // namespace hellomalif
436 
437 
438 } // namespace opcua
439 } // namespace generated
generated::opcua::hellomalif::LogInfo::setLevel
void setLevel(const std::string &value) override
Definition: hellomalifOpcUaImpl.hpp:57
generated
Definition: exmalif.pb.h:50
hellomalif::StdCmdsSync
Definition: Hellomalif.hpp:122
generated::opcua::hellomalif::StdCmdsSyncImpl::StdCmdsSyncImpl
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:356
hellomalif::LogInfo
Definition: Hellomalif.hpp:53
generated::opcua::hellomalif::StdCmdsSyncImpl::Disable
std::string Disable() override
Definition: hellomalifOpcUaImpl.hpp:382
generated::opcua::hellomalif::LogInfo::copy
void copy(const ::hellomalif::LogInfo &from) override
Definition: hellomalifOpcUaImpl.hpp:113
generated::opcua::hellomalif::LogInfo::setLogger
void setLogger(const std::string &value) override
Definition: hellomalifOpcUaImpl.hpp:65
generated::opcua::hellomalif::StdCmdsSyncImpl::GetState
std::string GetState() override
Definition: hellomalifOpcUaImpl.hpp:387
generated::opcua::hellomalif::LogInfo
Definition: hellomalifOpcUaImpl.hpp:49
generated::opcua::hellomalif::StdCmdsAsyncImpl::GetState
::elt::mal::future< std::string > GetState() override
Definition: hellomalifOpcUaImpl.hpp:223
generated::opcua::hellomalif::StdCmdsSyncImpl::Reset
std::string Reset() override
Definition: hellomalifOpcUaImpl.hpp:372
generated::opcua::hellomalif::StdCmdsAsyncImpl::Init
::elt::mal::future< std::string > Init() override
Definition: hellomalifOpcUaImpl.hpp:143
generated::opcua::hellomalif::StdCmdsAsyncImpl::Exit
::elt::mal::future< std::string > Exit() override
Definition: hellomalifOpcUaImpl.hpp:303
generated::opcua::hellomalif::LogInfo::getLevel
std::string getLevel() const override
Definition: hellomalifOpcUaImpl.hpp:53
generated::opcua::hellomalif::LogInfo::getLogger
std::string getLogger() const override
Definition: hellomalifOpcUaImpl.hpp:61
generated::opcua::hellomalif::StdCmdsSyncImpl::SetLogLevel
std::string SetLogLevel(const std::shared_ptr<::hellomalif::LogInfo > &info) override
Definition: hellomalifOpcUaImpl.hpp:412
generated::opcua::hellomalif::LogInfo::getOpcUaDataValues
const UA_DataValue * getOpcUaDataValues() const override
Definition: hellomalifOpcUaImpl.hpp:104
generated::opcua::hellomalif::StdCmdsAsyncImpl::StdCmdsAsyncImpl
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:133
generated::opcua::hellomalif::StdCmdsAsyncImpl::Stop
::elt::mal::future< std::string > Stop() override
Definition: hellomalifOpcUaImpl.hpp:283
generated::opcua::hellomalif::StdCmdsAsyncImpl::Enable
::elt::mal::future< std::string > Enable() override
Definition: hellomalifOpcUaImpl.hpp:183
Hellomalif.hpp
generated::opcua::hellomalif::StdCmdsSyncImpl::registerConnectionListener
::elt::mal::rr::ListenerRegistration registerConnectionListener(::elt::mal::rr::ClientRrEntity::ConnectionListener listener) override
Definition: hellomalifOpcUaImpl.hpp:422
generated::opcua::hellomalif::StdCmdsSyncImpl::Init
std::string Init() override
Definition: hellomalifOpcUaImpl.hpp:367
elt
Definition: Exmalif.hpp:418
generated::opcua::hellomalif::StdCmdsAsyncImpl::Disable
::elt::mal::future< std::string > Disable() override
Definition: hellomalifOpcUaImpl.hpp:203
generated::opcua::hellomalif::LogInfo::setOpcUaDataValues
void setOpcUaDataValues(const UA_DataValue *resultIterator) override
Definition: hellomalifOpcUaImpl.hpp:99
generated::opcua::hellomalif::StdCmdsAsyncImpl::SetLogLevel
::elt::mal::future< std::string > SetLogLevel(const std::shared_ptr<::hellomalif::LogInfo > &info) override
Definition: hellomalifOpcUaImpl.hpp:323
generated::opcua::hellomalif::StdCmdsSyncImpl::asyncConnect
::elt::mal::future< void > asyncConnect() override
Definition: hellomalifOpcUaImpl.hpp:417
generated::opcua::hellomalif::LogInfo::clone
std::unique_ptr<::hellomalif::LogInfo > clone() const override
Definition: hellomalifOpcUaImpl.hpp:71
generated::opcua::hellomalif::LogInfo::hasKey
bool hasKey() const override
Definition: hellomalifOpcUaImpl.hpp:89
generated::opcua::hellomalif::StdCmdsSyncImpl::GetStatus
std::string GetStatus() override
Definition: hellomalifOpcUaImpl.hpp:392
generated::opcua::hellomalif::LogInfo::getDataValueCount
size_t getDataValueCount() const override
Definition: hellomalifOpcUaImpl.hpp:95
generated::opcua::hellomalif::StdCmdsSyncImpl::Stop
std::string Stop() override
Definition: hellomalifOpcUaImpl.hpp:402
hellomalif::StdCmdsAsync
Definition: Hellomalif.hpp:128
generated::opcua::hellomalif::StdCmdsAsyncImpl::GetStatus
::elt::mal::future< std::string > GetStatus() override
Definition: hellomalifOpcUaImpl.hpp:243
generated::opcua::hellomalif::StdCmdsSyncImpl::Exit
std::string Exit() override
Definition: hellomalifOpcUaImpl.hpp:407
generated::opcua::hellomalif::LogInfo::keyHash
std::size_t keyHash() const
Definition: hellomalifOpcUaImpl.hpp:79
generated::opcua::hellomalif::StdCmdsAsyncImpl::GetVersion
::elt::mal::future< std::string > GetVersion() override
Definition: hellomalifOpcUaImpl.hpp:263
generated::opcua::hellomalif::StdCmdsSyncImpl::Enable
std::string Enable() override
Definition: hellomalifOpcUaImpl.hpp:377
generated::opcua::hellomalif::StdCmdsAsyncImpl::Reset
::elt::mal::future< std::string > Reset() override
Definition: hellomalifOpcUaImpl.hpp:163
generated::opcua::hellomalif::StdCmdsSyncImpl
Definition: hellomalifOpcUaImpl.hpp:353
hellomalif
Definition: Hellomalif.hpp:25
generated::opcua::hellomalif::StdCmdsAsyncImpl
Definition: hellomalifOpcUaImpl.hpp:130
generated::opcua::hellomalif::LogInfo::keyEquals
bool keyEquals(const ::hellomalif::LogInfo &other) const override
Definition: hellomalifOpcUaImpl.hpp:75
generated::opcua::hellomalif::LogInfo::cloneKey
std::unique_ptr<::hellomalif::LogInfo > cloneKey() const override
Definition: hellomalifOpcUaImpl.hpp:84
generated::opcua::hellomalif::StdCmdsSyncImpl::GetVersion
std::string GetVersion() override
Definition: hellomalifOpcUaImpl.hpp:397