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>
26 static constexpr
size_t dataValueCount =
28 + ::elt::mal::icd::opcua::Scalar<std::string>::dataValueCount
29 + ::elt::mal::icd::opcua::Scalar<std::string>::dataValueCount
32 static std::unique_ptr<::hellomalif::LogInfo> makeImpl();
48 public ::elt::mal::ps::OpcUaDataEntity<::hellomalif::LogInfo>
54 return dm_level.get();
57 void setLevel(
const std::string& value)
override {
62 return dm_logger.get();
71 std::unique_ptr<::hellomalif::LogInfo>
clone()
const override {
72 return std::unique_ptr<::hellomalif::LogInfo>(
new LogInfo(*
this));
84 std::unique_ptr<::hellomalif::LogInfo>
cloneKey()
const override {
85 std::unique_ptr<::hellomalif::LogInfo> entity(
new LogInfo);
96 return ::elt::mal::icd::opcua::MalOpcUaTraits<::hellomalif::LogInfo>::dataValueCount;
100 resultIterator = dm_level.assignFromDataValue(
"::hellomalif::LogInfo.level", resultIterator);
101 resultIterator = dm_logger.assignFromDataValue(
"::hellomalif::LogInfo.logger", resultIterator);
105 auto* fieldIterator = m_dataValues.data();
107 fieldIterator = dm_level.assignToDataValue(fieldIterator);
108 fieldIterator = dm_logger.assignToDataValue(fieldIterator);
110 return m_dataValues.data();
114 dm_level = from.getLevel();
115 dm_logger = from.getLogger();
119 ::elt::mal::icd::opcua::Scalar<std::string> dm_level;
120 ::elt::mal::icd::opcua::Scalar<std::string> dm_logger;
122 mutable std::array<UA_DataValue, ::elt::mal::icd::opcua::MalOpcUaTraits<::hellomalif::LogInfo>::dataValueCount> m_dataValues;
128 public virtual ::elt::mal::rr::OpcUaClientRrEntity<::hellomalif::StdCmdsAsync>
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)
138 ::elt::mal::rr::OpcUaClientRrEntity<StdCmdsAsync>(uri, standardQoS, malSpecificProperties, mal)
142 ::elt::mal::future<std::string>
Init()
override {
143 const auto methodSeqNr = 0;
146 constexpr
size_t dataValueCount =
150 std::array<UA_Variant, dataValueCount> arguments;
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);
158 return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
162 ::elt::mal::future<std::string>
Reset()
override {
163 const auto methodSeqNr = 1;
166 constexpr
size_t dataValueCount =
170 std::array<UA_Variant, dataValueCount> arguments;
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);
178 return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
182 ::elt::mal::future<std::string>
Enable()
override {
183 const auto methodSeqNr = 2;
186 constexpr
size_t dataValueCount =
190 std::array<UA_Variant, dataValueCount> arguments;
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);
198 return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
202 ::elt::mal::future<std::string>
Disable()
override {
203 const auto methodSeqNr = 3;
206 constexpr
size_t dataValueCount =
210 std::array<UA_Variant, dataValueCount> arguments;
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);
218 return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
222 ::elt::mal::future<std::string>
Status()
override {
223 const auto methodSeqNr = 4;
226 constexpr
size_t dataValueCount =
230 std::array<UA_Variant, dataValueCount> arguments;
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);
238 return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
242 ::elt::mal::future<std::string>
Config()
override {
243 const auto methodSeqNr = 5;
246 constexpr
size_t dataValueCount =
250 std::array<UA_Variant, dataValueCount> arguments;
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);
258 return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
262 ::elt::mal::future<std::string>
Stop()
override {
263 const auto methodSeqNr = 6;
266 constexpr
size_t dataValueCount =
270 std::array<UA_Variant, dataValueCount> arguments;
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);
278 return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
282 ::elt::mal::future<std::string>
Exit()
override {
283 const auto methodSeqNr = 7;
286 constexpr
size_t dataValueCount =
290 std::array<UA_Variant, dataValueCount> arguments;
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);
298 return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
302 ::elt::mal::future<std::string>
SetLogLevel(
const std::shared_ptr<::hellomalif::LogInfo>& info)
override {
303 const auto methodSeqNr = 8;
305 ::elt::mal::icd::opcua::NestedStructure<::hellomalif::LogInfo> arg_info;
308 constexpr
size_t dataValueCount =
310 + decltype(arg_info)::dataValueCount
313 std::array<UA_Variant, dataValueCount> arguments;
314 auto* argIterator = arguments.data();
316 argIterator = arg_info.assignToVariant(argIterator);
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);
324 return callMethodAsync<std::string>(methodSeqNr, arguments, extractor);
331 public virtual ::elt::mal::rr::OpcUaSyncClientBase
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)
341 ::elt::mal::rr::OpcUaSyncClientBase(uri, standardQoS, malSpecificProperties, mal),
342 m_asyncClient(uri, standardQoS, malSpecificProperties, mal)
347 return unpackAsync(m_asyncClient.
Init());
352 return unpackAsync(m_asyncClient.
Reset());
357 return unpackAsync(m_asyncClient.
Enable());
362 return unpackAsync(m_asyncClient.
Disable());
367 return unpackAsync(m_asyncClient.
Status());
372 return unpackAsync(m_asyncClient.
Config());
377 return unpackAsync(m_asyncClient.
Stop());
382 return unpackAsync(m_asyncClient.
Exit());
386 std::string
SetLogLevel(
const std::shared_ptr<::hellomalif::LogInfo>& info)
override {
387 return unpackAsync(m_asyncClient.
SetLogLevel(info));
392 return m_asyncClient.asyncConnect();
395 ::elt::mal::rr::ListenerRegistration
397 return m_asyncClient.registerConnectionListener(std::move(listener));
::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
Definition: hellomalifOpcUaImpl.hpp:329
::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