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

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。