EventFilter Class

class QOpcUaMonitoringParameters::EventFilter

監視項目に対する EventFilter を定義します。詳細...

パブリック関数

EventFilter(const QOpcUaMonitoringParameters::EventFilter &rhs)
QList<QOpcUaSimpleAttributeOperand> selectClauses() const
QList<QOpcUaSimpleAttributeOperand> &selectClausesRef()
void setSelectClauses(const QList<QOpcUaSimpleAttributeOperand> &selectClauses)
void setWhereClause(const QList<QOpcUaContentFilterElement> &whereClause)
QList<QOpcUaContentFilterElement> whereClause() const
QList<QOpcUaContentFilterElement> &whereClauseRef()
const QVariant operator const QVariant()
QOpcUaMonitoringParameters::EventFilter &operator<<(const QOpcUaContentFilterElement &whereClauseElement)
QOpcUaMonitoringParameters::EventFilter &operator<<(const QOpcUaSimpleAttributeOperand &selectClauseElement)
QOpcUaMonitoringParameters::EventFilter &operator=(const QOpcUaMonitoringParameters::EventFilter &rhs)
bool operator==(const QOpcUaMonitoringParameters::EventFilter &rhs) const

詳細説明

イベント・フィルターは、サーバー上のイベントを監視するために必要です。これはselect 節とwhere 節で構成される。

select 節は、イベントが発生したときにユーザが受け取りたいデータを指定するために使用されます。QOpcUaSimpleAttributeOperand 、イベント・タイプの子ノードの属性(例えば BaseEventType の "Message" プロパティの値属性)を選択する単純な属性オペランドで構成される。

where 節は、特定の条件とのマッチングによって報告されるイベントを制限するために使用されます。いくつかの演算子と 4 つの異なるオペランド・タイプにより、イベント・タイプの子ノードの属性値に基づくフィルタリングが可能になります。

フィルターは、セッターまたはストリーミング演算子を使用して構築できます。イベント・フィルターにQOpcUaSimpleAttributeOperand をストリーミングすると、フィルターに新しいselect 節が追加され、QOpcUaContentFilterElementwhere 節に追加されます。コンテンツフィルター要素は、QOpcUaLiteralOperandQOpcUaElementOperandQOpcUaAttributeOperandQOpcUaSimpleAttributeOperand の型のオペランドと演算子をコンテンツフィルター要素にストリーミングすることで構築できる。最後の演算子のみが使用され、それ以前の演算子は破棄される。

以下の EventFilter は、"Severity" フィールドの値が >= 500 であるイベントに対して、"Message" フィールドの値を報告するようにサーバーに指示します:

QOpcUaMonitoringParameters::EventFilter filter;
filter << QOpcUaSimpleAttributeOperand("Message"); // Select clause of the filter

QOpcUaContentFilterElement condition;
condition << QOpcUaContentFilterElement::FilterOperator::GreaterThanOrEqual;
condition << QOpcUaSimpleAttributeOperand("Severity");
condition << QOpcUaLiteralOperand(500, QOpcUa::Types::UInt16);
filter << condition; // Where clause of the filter

2つの条件を持つより複雑な例については、QOpcUaElementOperand を参照のこと。

メンバ関数ドキュメント

EventFilter::EventFilter(const QOpcUaMonitoringParameters::EventFilter &rhs)

rhs からイベントフィルターを構築する。

QList<QOpcUaSimpleAttributeOperand> EventFilter::selectClauses() const

新しいイベントが報告されたときに含まれる、選択されたイベント・フィールドを返します。

setSelectClauses()も参照

QList<QOpcUaSimpleAttributeOperand> &EventFilter::selectClausesRef()

select 節への参照を返します。

void EventFilter::setSelectClauses(const QList<QOpcUaSimpleAttributeOperand> &selectClauses)

select 節をselectClauses に設定する。

selectClauses()も参照のこと

void EventFilter::setWhereClause(const QList<QOpcUaContentFilterElement> &whereClause)

where 節をwhereClause に設定する。

whereClause()も参照のこと

QList<QOpcUaContentFilterElement> EventFilter::whereClause() const

報告されるイベントを特定の条件に一致するイベントに制限するために使用されるコンテンツ・フィルタを返します。

setWhereClause()も参照

QList<QOpcUaContentFilterElement> &EventFilter::whereClauseRef()

where 節への参照を返します。

whereClause()も参照

const QVariant EventFilter::operator const QVariant()

このイベントフィルターをQVariant に変換する。

QOpcUaMonitoringParameters::EventFilter &EventFilter::operator<<(const QOpcUaContentFilterElement &whereClauseElement)

このイベントフィルタのwhere節にコンテンツフィルタエレメントwhereClauseElement を追加します。

QOpcUaMonitoringParameters::EventFilter &EventFilter::operator<<(const QOpcUaSimpleAttributeOperand &selectClauseElement)

このコンテンツ・フィルタ要素の select 節に単純属性オペランドselectClauseElement を追加します。

QOpcUaMonitoringParameters::EventFilter &EventFilter::operator=(const QOpcUaMonitoringParameters::EventFilter &rhs)

このイベントフィルターにrhs の値を設定します。

bool EventFilter::operator==(const QOpcUaMonitoringParameters::EventFilter &rhs) const

このイベントフィルターがrhs と同じ値を持つ場合、true を返す。

© 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.