事件过滤器类

class QOpcUaMonitoringParameters::EventFilter

定义了用于监控项的事件过滤器。 更多...

公共函数

EventFilter(const QOpcUaMonitoringParameters::EventFilter &rhs)
QList<QOpcUaSimpleAttributeOperand>selectClauses() const
QList<QOpcUaSimpleAttributeOperand> &selectClausesRef()
voidsetSelectClauses(const QList<QOpcUaSimpleAttributeOperand> &selectClauses)
voidsetWhereClause(const QList<QOpcUaContentFilterElement> &whereClause)
QList<QOpcUaContentFilterElement>whereClause() const
QList<QOpcUaContentFilterElement> &whereClauseRef()
const QVariantoperator const QVariant()
QOpcUaMonitoringParameters::EventFilter &operator<<(const QOpcUaContentFilterElement &whereClauseElement)
QOpcUaMonitoringParameters::EventFilter &operator<<(const QOpcUaSimpleAttributeOperand &selectClauseElement)
QOpcUaMonitoringParameters::EventFilter &operator=(const QOpcUaMonitoringParameters::EventFilter &rhs)
booloperator==(const QOpcUaMonitoringParameters::EventFilter &rhs) const

详细描述

在服务器上监控事件需要事件过滤器。它由 select 子句和 where 子句组成。

select 子句用于在事件发生时指定用户想要接收的数据。它由 QOpcUaSimpleAttributeOperand 简单属性运算符组成,这些运算符选择事件类型子节点的属性,例如 BaseEventType 的 "Message" 属性的值属性。

where 子句用于通过匹配某些标准来限制报告的事件。几个运算符和四种不同的运算符类型允许根据事件类型子节点的属性值进行过滤。

可以使用设置器或流运算符来构建过滤器。将 QOpcUaSimpleAttributeOperand 流入事件过滤器会将一个新的 select 子句添加到过滤器中,将一个 QOpcUaContentFilterElement 添加到 where 子句中。通过将运算符的类型、运算符和 QOpcUaLiteralOperandQOpcUaElementOperandQOpcUaAttributeOperandQOpcUaSimpleAttributeOperand 以及一个运算符流到一个内容筛选元素中,可以构建内容筛选元素。只有最后一个运算符被使用,之前的运算符将被丢弃。

以下事件过滤器通知服务器报告具有“严重性”字段值为 >= 500 的事件的“消息”字段的值。

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

有关具有两个条件的更复杂示例,请参阅 QOpcUaElementOperand

成员函数文档

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

rhs 构造事件过滤器。

QList<QOpcUaSimpleAttributeOperand> EventFilter::selectClauses() const

返回在 reporting 新事件时应包含的所选事件字段。

另请参阅 setSelectClauses

QList<QOpcUaSimpleAttributeOperand> &EventFilter::selectClausesRef()

返回对选择子句的引用。

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

将选择子句设置为 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)

将内容过滤器元素 whereClauseElement 添加到此事件过滤器的 where 子句中。

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

将简单属性操作数 selectClauseElement 添加到此内容过滤器元素的选择子句中。

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

将来源自rhs的事件过滤器中的值设为此。

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

如果此事件过滤器与rhs具有相同的值,则返回true

© 2024 Qt公司。包含在本文档中的文档贡献权归各自的所有者所有。本文档受GNU自由文档许可证版本1.3的条款约束,由自由软件基金会发布。Qt和相应的标志是芬兰及全世界其他国家的Qt公司的商标。所有其他商标均为各自所有者的财产。