QOpcUaBinaryDataEncoding Class

QOpcUaBinaryDataEncoding は、OPC UA part 6に記述されているOPC UAバイナリデータエンコーディングの部分的な実装です。詳細...

ヘッダ #include <QOpcUaBinaryDataEncoding>
CMake: find_package(Qt6 REQUIRED COMPONENTS OpcUa)
target_link_libraries(mytarget PRIVATE Qt6::OpcUa)
qmake: QT += opcua

パブリック関数

QOpcUaBinaryDataEncoding(QByteArray *buffer)
QOpcUaBinaryDataEncoding(QOpcUaExtensionObject &object)
T decode(bool &success)
QList<T> decodeArray(bool &success)
bool encode(const T &src)
bool encodeArray(const QList<T> &src)
int offset() const
void setOffset(int offset)
void truncateBufferToOffset()

詳細説明

qmake は、拡張オブジェクトを読み書きするためのデータをエンコードおよびデコードするためのテンプレート関数を提供します。

以下の型がサポートされています:

Qt タイプOPC UA型
quint8uint8
qint8int8
quint16uint16
qint16int16
quint32uint32
qint32int32
quint64uint64
qint64int64
floatfloat
doubledouble
QString文字列
QOpcUaQualifiedName修飾名
QOpcUaLocalizedTextLocalizedText
QOpcUaEUInformationEU情報
QOpcUaRange範囲
QOpcUaComplexNumber複素数
QOpcUaDoubleComplexNumberダブル複素数
QOpcUaAxisInformation軸情報
QOpcUaXValueXV
QUuidGUID
QString ノードIDNodeId
QByteArrayバイト文字列
QDateTime日付
QOpcUa::UaStatusCodeステータスコード
QOpcUaExpandedNodeId拡張ノードID
QOpcUaExtensionObject拡張オブジェクト
QOpcUaArgument引数
QOpcUaDiagnosticInfo (Qt 6.7 以降)診断情報
QOpcUaApplicationRecordDataTypeApplicationRecordDataType
QOpcUaStructureDefinition (Qt 6.7 以降)構造体定義
QOpcUaStructureField (Qt 6.7 以降)構造体フィールド
QOpcUaEnumDefinition (Qt 6.7 以降)列挙型定義
QOpcUaEnumField (Qt 6.7 以降)列挙型フィールド
QOpcUaVariant (Qt 6.7 以降)バリアント
QOpcUaDataValue (Qt 6.7 以降)データ値

メンバ関数ドキュメント

QOpcUaBinaryDataEncoding::QOpcUaBinaryDataEncoding(QByteArray *buffer)

データ・バッファbuffer のバイナリ・データ・エンコーディング・オブジェクトを構築する。このバイナリ・データ・エンコーディング・オブジェクトが使用されている限り、buffer を削除してはならない。

QOpcUaBinaryDataEncoding::QOpcUaBinaryDataEncoding(QOpcUaExtensionObject &object)

object のエンコードされた本体をデータ・バッファとして使用して、バイナリ・データ・エンコード・オブジェクトを構築する。

object このバイナリ・データ・エンコード・オブジェクトが使用されている限り、削除してはならない。

template <typename T, QOpcUa::Types OVERLAY = QOpcUa::Types::Undefined> T QOpcUaBinaryDataEncoding::decode(bool &success)

true データ・バッファからT型のスカラー値をデコードする。デコードに成功した場合はsuccess 、失敗した場合はfalse

デコードされた値が返される。success が偽の場合、返される値は無効である。

decodeArray()も参照のこと

template <typename T, QOpcUa::Types OVERLAY = QOpcUa::Types::Undefined> QList<T> QOpcUaBinaryDataEncoding::decodeArray(bool &success)

true データ・バッファからT型の配列をデコードする。デコードに成功した場合はsuccess 、失敗した場合はfalse

デコードされた値が返される。success が偽の場合、返される値は無効である。

decode()も参照のこと

template <typename T, QOpcUa::Types OVERLAY = QOpcUa::Types::Undefined> bool QOpcUaBinaryDataEncoding::encode(const T &src)

T 型のsrc をエンコードし、エンコードされた値をデータ・バッファに追加する。値のエンコードに成功した場合はtrue を返す。

encodeArray()も参照

template <typename T, QOpcUa::Types OVERLAY = QOpcUa::Types::Undefined> bool QOpcUaBinaryDataEncoding::encodeArray(const QList<T> &src)

T 型のすべての要素をsrc でエンコードし、エンコードされた値をデータ・バッファに追加する。

値のエンコードに成功した場合はtrue を返す。

encode()も参照

int QOpcUaBinaryDataEncoding::offset() const

データ・バッファ内の現在のオフセットを返します。

setOffset()も参照

void QOpcUaBinaryDataEncoding::setOffset(int offset)

データ・バッファの現在のオフセットをoffset に設定する。 バッファの最初のバイトのオフセットは 0 である。

offset()も参照

void QOpcUaBinaryDataEncoding::truncateBufferToOffset()

データ・バッファを現在のoffset() で切り捨てる。オフセットが現在のバッファサイズより遅れている場合、このメソッドは何もしません。

このメソッドは、古いオフセットを設定して truncateBufferToOffset() を呼び出すことで、エンコード失敗後のロールバックに使用できます。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.