нл:: Соткать:: WeaveServerDelegateBase

#include <src/lib/core/WeaveServerBase.h>

Общий базовый класс для реализации объектов делегата сервера Weave.

Резюме

Наследование

Прямые известные подклассы:
  nl::Weave::Profiles::DeviceControl::DeviceControlDelegate
  nl::Weave::Profiles::FabricProvisioning::FabricProvisioningDelegate
  nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningDelegate
  nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningDelegate
  nl::Weave::Profiles::TokenPairing::TokenPairingDelegate
  nl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingDelegate

Защищенные типы

@69 {
kAccessControlResult_NotDetermined = 0,
kAccessControlResult_Accepted = 1,
kAccessControlResult_Rejected = 2,
kAccessControlResult_Rejected_RespSent = 3,
kAccessControlResult_Rejected_Silent = 4
}
перечисление
AccessControlResult определение типа
uint8_t

Защищенные функции

EnforceAccessControl ( ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
virtual void
Виртуальный метод определения политики управления доступом на уровне сообщений для входящих сообщений запроса сервера.
WeaveServerDelegateBase (void)

Защищенные типы

@69

 @69

AccessControlResult

uint8_t AccessControlResult

Защищенные функции

EnforceAccessControl

virtual void EnforceAccessControl(
  ExchangeContext *ec,
  uint32_t msgProfileId,
  uint8_t msgType,
  const WeaveMessageInfo *msgInfo,
  AccessControlResult & result
)

Виртуальный метод определения политики управления доступом на уровне сообщений для входящих сообщений запроса сервера.

Этот метод вызывается инфраструктурой сервера Weave, чтобы определить, должно ли входящее сообщение запроса быть принято и обработано в обычном режиме или отклонено. Классы-делегаты, связанные с реализациями сервера Weave, должны переопределить этот метод, чтобы реализовать соответствующие политики управления доступом для своих протоколов. Приложения могут дополнительно переопределить этот метод для поддержки настраиваемых политик, помимо тех, которые предоставляются стандартными реализациями сервера.

Ожидается, что реализации этого метода вернут значение результата Accepted или Rejected на основе результата оценки политики управления доступом. Возврат результата Rejected приводит к отправке StatusReport инициатору запроса, содержащему статус Common/AccessDenied. В качестве альтернативы реализации метода могут выбрать отправку собственных ответов, которые могут быть сообщением StatusReport или любым другим типом. В этом случае метод должен возвращать результат Reject_RespSent, чтобы сообщить, что ответ уже отправлен. Наконец, реализации могут возвращать Reject_Silent, чтобы указать, что запрос должен быть отклонен без отправки ответа запрашивающей стороне.

Классы, переопределяющие метод EnforceAccessControl() , должны в случаях вызова вызывать одноименный метод в своем непосредственном родительском классе, будь то класс WeaveServerDelegateBase или класс, производный от этого класса. Методы переопределения должны сначала обновить значение результата с их определением политики управления доступом, а затем вызвать свой базовый класс, чтобы сделать его определение.

Подробности
Параметры
[in] ec
ExchangeContext , через который было получено сообщение.
[in] msgProfileId
Идентификатор профиля полученного сообщения.
[in] msgType
Тип полученного сообщения.
[in] msgInfo
Структура WeaveMessageInfo , содержащая информацию о полученном сообщении.
[in,out] result
Числовое значение, описывающее результат оценки политики управления доступом для полученного сообщения. При входе в метод значение представляет предварительный результат на текущий момент процесса оценки. Ожидается, что по возвращении результат будет представлять окончательную оценку политики управления доступом для сообщения.

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)