нл:: Переплетение:: 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

Аксессконтролрезультат

uint8_t AccessControlResult

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

EnforceAccessControl

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

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

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

Ожидается, что реализации этого метода вернут значение результата «Принято» или «Отклонено» на основе результата оценки политики управления доступом. Возврат результата «Отклонено» приводит к отправке запрашивающей стороне отчета 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
)