このページでは

QOpcUaMonitoringParameters::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()
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 句は、イベントが発生した際にユーザーが受信したいデータを指定するために使用されます。これは、イベント タイプの子ノードの属性(たとえば、BaseEventTypeの「Message」プロパティのvalue属性など)を選択するQOpcUaSimpleAttributeOperand 単純属性オペランドで構成されます。

where 句は、特定の条件に一致させることで、報告されるイベントを制限するために使用されます。いくつかの演算子と4種類のオペランドタイプにより、イベント型の子ノードの属性値に基づいたフィルタリングが可能になります。

フィルタは、setter またはストリーミング演算子を使用して構築できます。QOpcUaSimpleAttributeOperand をイベントフィルタにストリーミングすると、フィルタに新しいselect 句が追加され、QOpcUaContentFilterElement がwhere 句に追加されます。コンテンツフィルタ要素は、QOpcUaLiteralOperand 、QOpcUaElementOperand 、QOpcUaAttributeOperand 、QOpcUaSimpleAttributeOperand の各タイプのオペランドと演算子をコンテンツフィルタ要素にストリーミングすることで構築できます。最後の演算子のみが使用され、それ以前の演算子は破棄されます。

以下の 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()も参照してください 。

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 を返します。

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