QOpcUaGenericStructValue Class
汎用OPC UA構造化型の値を保持します。詳細...
Header: | #include <QOpcUaGenericStructValue> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS OpcUa) target_link_libraries(mytarget PRIVATE Qt6::OpcUa) |
qmake: | QT += opcua |
Since: | Qt 6.7 |
パブリック関数
QOpcUaGenericStructValue() | |
QOpcUaGenericStructValue(const QString &typeName, const QString &typeId, const QOpcUaStructureDefinition &definition) | |
QOpcUaGenericStructValue(const QString &typeName, const QString &typeId, const QOpcUaStructureDefinition &definition, const QHash<QString, QVariant> &fields) | |
QOpcUaGenericStructValue(const QOpcUaGenericStructValue &other) | |
QOpcUaGenericStructValue(QOpcUaGenericStructValue &&other) | |
~QOpcUaGenericStructValue() | |
QHash<QString, QVariant> | fields() const |
QHash<QString, QVariant> & | fieldsRef() |
void | setFields(const QHash<QString, QVariant> &fields) |
void | setStructureDefinition(const QOpcUaStructureDefinition &structureDefinition) |
void | setTypeId(const QString &typeId) |
void | setTypeName(const QString &typeName) |
QOpcUaStructureDefinition | structureDefinition() const |
void | swap(QOpcUaGenericStructValue &other) |
QString | toString() const |
QString | typeId() const |
QString | typeName() const |
QVariant | operator QVariant() const |
QOpcUaGenericStructValue & | operator=(QOpcUaGenericStructValue &&other) |
QOpcUaGenericStructValue & | operator=(const QOpcUaGenericStructValue &rhs) |
関連する非メンバー
bool | operator!=(const QOpcUaGenericStructValue &lhs, const QOpcUaGenericStructValue &rhs) |
QDebug | operator<<(QDebug debug, const QOpcUaGenericStructValue &s) |
bool | operator==(const QOpcUaGenericStructValue &lhs, const QOpcUaGenericStructValue &rhs) |
詳細説明
このクラスは、組み込み型やそのサブ型、ネストされた汎用構造体からなる、名前付きフィールドとその値から構成される汎用OPC UA構造体の値を保持します。このクラスのオブジェクトに含まれる型の型IDや構造体定義のようなメタ情報も含まれます。
これは、デコード結果の戻り型や、QOpcUaGenericStructHandler のエンコーディングメソッドの入力型として使用されます。
オプション・フィールドを持つ構造体の場合、指定されたフィールドのみがfields() リストに含まれる。エンコード時にオプショナルフィールドを省略するには、fields ()リストに現れてはならない。Union型から派生した構造体の場合、フィールドは1つだけ指定する必要があります。デコードされた型のfields() リストに含まれる唯一のエントリによって、型定義のどのフィールドが(もしあれば)指定されたかが決まります。
例
// Decode an extension object QOpcUaGenericStructValue value = decoder.decode(extensionObject, success); // Print the value of a mandatory field qDebug() << value.fields().value("MyField").value<QOpcUaLocalizedText>(); // Print the value of an optional field if (value.fields().contains("MyOptionalField")) qDebug() << value.fields().value("MyField").value<QOpcUaQualifiedName>(); // Get a nested struct for a field const auto unionMember = value.fields().value("MyUnionMember").value<QOpcUaGenericStructValue>(); // Print the specified field if (unionMember.fields().contains("UnionMember1")) qDebug() << unionMember.fields().value("UnionMember1").toInt(); else if (unionMember.fields().contains("UnionMember2")) qDebug() << unionMember.fields().value("UnionMember2").toDouble(); else qDebug() << "Empty union";
メンバ関数ドキュメント
QOpcUaGenericStructValue::QOpcUaGenericStructValue()
汎用構造体値を構築する。
QOpcUaGenericStructValue::QOpcUaGenericStructValue(const QString &typeName, const QString &typeId, const QOpcUaStructureDefinition &definition)
typeName,typeId およびdefinition からジェネリック構造体値を構築する。
QOpcUaGenericStructValue::QOpcUaGenericStructValue(const QString &typeName, const QString &typeId, const QOpcUaStructureDefinition &definition, const QHash<QString, QVariant> &fields)
typeName 、typeId 、definition 、fields からジェネリック構造体値を構築する。
QOpcUaGenericStructValue::QOpcUaGenericStructValue(const QOpcUaGenericStructValue &other)
other からジェネリック構造体値を構築します。
[noexcept]
QOpcUaGenericStructValue::QOpcUaGenericStructValue(QOpcUaGenericStructValue &&other)
移動-other から新しいジェネリック構造体を構築します。
注: 移動元のオブジェクトother は、部分的に形成された状態に置かれ、有効な操作は破棄と新しい値の割り当てのみである。
[noexcept]
QOpcUaGenericStructValue::~QOpcUaGenericStructValue()
この汎用構造体値オブジェクトを破棄する。
QHash<QString, QVariant> QOpcUaGenericStructValue::fields() const
この汎用構造体値のフィールドを返します。
setFields()も参照してください 。
QHash<QString, QVariant> &QOpcUaGenericStructValue::fieldsRef()
この汎用構造体値のフィールドへの参照を返します。
void QOpcUaGenericStructValue::setFields(const QHash<QString, QVariant> &fields)
この汎用構造体値のフィールドをfields に設定します。
fields() も参照して ください。
void QOpcUaGenericStructValue::setStructureDefinition(const QOpcUaStructureDefinition &structureDefinition)
この汎用構造体値の構造体定義をstructureDefinition に設定します。
structureDefinition() も参照して ください。
void QOpcUaGenericStructValue::setTypeId(const QString &typeId)
この汎用構造体値の型ノード ID をtypeId に設定します。
typeId() も参照して ください。
void QOpcUaGenericStructValue::setTypeName(const QString &typeName)
この汎用構造体値の型名をtypeName に設定します。
typeName() も参照して ください。
QOpcUaStructureDefinition QOpcUaGenericStructValue::structureDefinition() const
この汎用構造体値の構造体定義を返します。
setStructureDefinition() も参照して ください。
[noexcept]
void QOpcUaGenericStructValue::swap(QOpcUaGenericStructValue &other)
汎用構造体値オブジェクトother をこの汎用構造体値オブジェクトと交換します。この操作は非常に高速で、失敗することはありません。
QString QOpcUaGenericStructValue::toString() const
この汎用構造体値の文字列表現を返します。
QString QOpcUaGenericStructValue::typeId() const
この汎用構造体値の型ノード ID を返します。
setTypeId()も参照してください 。
QString QOpcUaGenericStructValue::typeName() const
この汎用構造体値の型名を返します。
setTypeName() も参照して ください。
QVariant QOpcUaGenericStructValue::operator QVariant() const
この汎用構造体値を含むQVariant を返します。
[noexcept]
QOpcUaGenericStructValue &QOpcUaGenericStructValue::operator=(QOpcUaGenericStructValue &&other)
Move-assignother をこのQOpcUaGenericStructValue インスタンスに割り当てます。
注意: 移動元のオブジェクトother は、部分的に形成された状態に置かれます。この状態では、有効な操作は破棄と新しい値の割り当てのみです。
QOpcUaGenericStructValue &QOpcUaGenericStructValue::operator=(const QOpcUaGenericStructValue &rhs)
この汎用構造体値にrhs の値を設定します。
関連する非メンバー
[noexcept]
bool operator!=(const QOpcUaGenericStructValue &lhs, const QOpcUaGenericStructValue &rhs)
lhs がrhs と等しくない場合はtrue
を返す。
QDebug operator<<(QDebug debug, const QOpcUaGenericStructValue &s)
s の文字列表現をdebug に出力します。
[noexcept]
bool operator==(const QOpcUaGenericStructValue &lhs, const QOpcUaGenericStructValue &rhs)
lhs がrhs と等しい場合、true
を返します。
©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。