Класс EventFilter
класс QOpcUaMonitoringParameters::EventFilterОпределяет EventFilter для контролируемого элемента. Подробнее...
Открытые функции
| EventFilter(const EventFilter &rhs) | |
| EventFilter & | operator=(const 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() |
| EventFilter & | operator<<(const QOpcUaContentFilterElement &whereClauseElement) |
| EventFilter & | operator<<(const QOpcUaSimpleAttributeOperand &selectClauseElement) |
| bool | operator==(const EventFilter &rhs) const |
Подробное описание
Фильтр событий необходим для мониторинга событий на сервере. Он состоит из select пунктов и where пункта.
select пункты используются для указания данных, которые пользователь хочет получить при возникновении события. Он состоит из простых операторов атрибутов QOpcUaSimpleAttributeOperand, которые выбирают атрибуты дочерних узлов типа события, например, атрибут значения свойства "Сообщение" типа BaseEventType.
where пункт используется для ограничения сообщаемых событий путем соответствия определенным критериям. Несколько операторов и четыре разных типа операндов позволяют фильтровать на основе значений атрибутов дочерних узлов типа события.
Фильтры можно создавать, используя установщики или операторы потоковой передачи. Потоковая передача QOpcUaSimpleAttributeOperand в фильтр событий добавляет новый select пункт в фильтр, QOpcUaContentFilterElement добавляется к where пункту. Элемент фильтра содержимого можно создать, передав операторы типов QOpcUaLiteralOperand, QOpcUaElementOperand, QOpcUaAttributeOperand и QOpcUaSimpleAttributeOperand и оператор в элемент фильтра содержимого. Используется только последний оператор; предыдущие операторы будут отброшены.
Следующий EventFilter сообщает серверу о том, что необходимо сообщать значение поля "Сообщение" для событий, имеющих поле "Уровень важности" со значением >= 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 EventFilter &rhs)
Конструирует фильтр событий из rhs.
EventFilter &EventFilter::operator=(const EventFilter &rhs)
Устанавливает значения из rhs в этом фильтре событий.
QList<QOpcUaSimpleAttributeOperand> EventFilter::selectClauses() const
Возвращает выбранные поля событий, которые должны быть включены при сообщении о новом событии.
См. также 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.
EventFilter &EventFilter::operator<<(const QOpcUaContentFilterElement &whereClauseElement)
Добавляет элемент фильтра содержимого whereClauseElement в пункт where этого фильтра событий.
EventFilter &EventFilter::operator<<(const QOpcUaSimpleAttributeOperand &selectClauseElement)
Добавляет простой оператор атрибута selectClauseElement в пункт выбора этого фильтра содержимого.
bool EventFilter::operator==(const EventFilter &rhs) const
Возвращает true если этот фильтр событий имеет то же значение, что и rhs.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qopcuamonitoringparameters-eventfilter.html