44 void setLog(
const std::shared_ptr<DebugStream>& log);
46 bool connect(
const std::string& endpoint);
47 bool connect(
const std::string& endpoint,
const std::string& user,
const std::string& passwd);
48 void disconnect()
noexcept;
50 bool isConnected()
const noexcept;
52 enum class VarType :
int
60 std::variant<int32_t, float> value = {0};
61 UA_StatusCode status = UA_STATUSCODE_BAD;
62 VarType type = VarType::Int32;
64 bool statusOk()
const noexcept
66 return status == UA_STATUSCODE_GOOD;
74 return std::get<VType>(value);
76 catch(
const std::bad_variant_access&)
86 std::variant<int32_t, float, bool> value;
89 using ErrorCode = UA_StatusCode;
91 std::vector<ResultVar> read(
const std::vector<std::string>& nodeIds);
92 ErrorCode write(
const std::vector<WriteItem>& items);
95 UA_ReadValueId makeReadValue(
const std::string& nodeId);
96 void logError(
const std::string& msg)
const;
98 std::shared_ptr<DebugStream> log;
100 bool connected =
false;