QOpcUaBinaryDataEncoding Class
QOpcUaBinaryDataEncoding は、OPC UA part 6に記述されているOPC UAバイナリデータエンコーディングの部分的な実装です。詳細...
Header: | #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() |
詳細説明
拡張オブジェクトを読み書きするためのデータをエンコードおよびデコードするためのテンプレート関数を提供します。
以下の型がサポートされています:
Qtタイプ | OPC UA型 |
---|---|
quint8 | uint8 |
qint8 | int8 |
quint16 | uint16 |
qint16 | int16 |
quint32 | uint32 |
qint32 | int32 |
quint64 | uint64 |
qint64 | int64 |
float | float |
double | double |
QString | 文字列 |
QOpcUaQualifiedName | 修飾名 |
QOpcUaLocalizedText | LocalizedText |
QOpcUaEUInformation | EU情報 |
QOpcUaRange | 範囲 |
QOpcUaComplexNumber | 複素数 |
QOpcUaDoubleComplexNumber | ダブル複素数 |
QOpcUaAxisInformation | 軸情報 |
QOpcUaXValue | XV |
QUuid | GUID |
QString ノードID | NodeId |
QByteArray | バイト文字列 |
QDateTime | 日付 |
QOpcUa::UaStatusCode | ステータスコード |
QOpcUaExpandedNodeId | 拡張ノードID |
QOpcUaExtensionObject | 拡張オブジェクト |
QOpcUaArgument | 引数 |
QOpcUaDiagnosticInfo (Qt 6.7 以降) | 診断情報 |
QOpcUaApplicationRecordDataType | ApplicationRecordDataType |
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)
データ・バッファからT型の配列をデコードする。success は、デコードに成功した場合はtrue
にセットされ、失敗した場合は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() を呼び出すことで、エンコード失敗後のロールバックに使用できます。
©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。