En Google, luchamos por la equidad racial de la comunidad negra. Más información

nl :: Tejido:: WeaveServerDelegateBase

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

Una clase base común para implementar objetos delegados del servidor Weave.

Resumen

Herencia

Subclases conocidas directas:
  nl :: Weave :: Profiles :: DeviceControl :: DeviceControlDelegate
  nl :: Weave :: Perfiles :: FabricProvisioning :: FabricProvisioningDelegate
  nl :: Weave :: Perfiles :: NetworkProvisioning :: NetworkProvisioningDelegate
  nl :: Weave :: Perfiles :: ServiceProvisioning :: ServiceProvisioningDelegate
  nl :: Weave :: Perfiles :: TokenPairing :: TokenPairingDelegate
  nl :: Weave :: Perfiles :: Proveedor :: Nestlabs :: DropcamLegacyPairing :: DropcamLegacyPairingDelegate

Tipos protegidos

@69 {
kAccessControlResult_NotDetermined = 0,
kAccessControlResult_Accepted = 1,
kAccessControlResult_Rejected = 2,
kAccessControlResult_Rejected_RespSent = 3,
kAccessControlResult_Rejected_Silent = 4
}
enumeración
AccessControlResult typedef
uint8_t

Funciones protegidas

EnforceAccessControl ( ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
virtual void
Método virtual para determinar la política de control de acceso a nivel de mensaje para mensajes de solicitud de servidor entrantes.
WeaveServerDelegateBase (void)

Tipos protegidos

@ 69

 @69

AccessControlResult

uint8_t AccessControlResult

Funciones protegidas

EnforceAccessControl

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

Método virtual para determinar la política de control de acceso a nivel de mensaje para mensajes de solicitud de servidor entrantes.

La infraestructura del servidor Weave llama a este método para determinar si un mensaje de solicitud entrante debe aceptarse y procesarse normalmente o rechazarse. Las clases delegadas asociadas con las implementaciones del servidor Weave deben anular este método para implementar políticas de control de acceso adecuadas para sus protocolos. Las aplicaciones pueden anular aún más este método para admitir políticas personalizadas más allá de las proporcionadas por las implementaciones de servidor estándar.

Se espera que las implementaciones de este método arrojen un valor de resultado de Aceptado o Rechazado según el resultado de la evaluación de la política de control de acceso. Devolver un resultado de Rejected hace que se envíe un StatusReport al solicitante que contiene el estado Common / AccessDenied. Alternativamente, las implementaciones de métodos pueden elegir enviar sus propias respuestas, que pueden ser un StatusReport o cualquier otro tipo de mensaje. En este caso, el método debe devolver un resultado de Reject_RespSent para indicar que ya se ha enviado una respuesta. Finalmente, las implementaciones pueden devolver Reject_Silent para indicar que la solicitud debe rechazarse sin enviar una respuesta al solicitante.

Las clases que anulan la EnforceAccessControl () método se requieren en casos de llamada para llamar al método como-nombrado en su clase padre inmediato, ya sea que el WeaveServerDelegateBase clase o una clase derivada de la clase. Los métodos de reemplazo primero deben actualizar el valor del resultado con su determinación de la política de control de acceso y luego llamar a su clase base para tomar su determinación.

Detalles
Parámetros
[in] ec
El ExchangeContext sobre el que se recibió el mensaje.
[in] msgProfileId
El ID de perfil del mensaje recibido.
[in] msgType
El tipo de mensaje del mensaje recibido.
[in] msgInfo
A WeaveMessageInfo estructura que contiene información sobre el mensaje recibido.
[in,out] result
Un valor enumerado que describe el resultado de la evaluación de la política de control de acceso para el mensaje recibido. Al ingresar al método, el valor representa el resultado tentativo en el punto actual del proceso de evaluación. A su regreso, se espera que el resultado represente la evaluación final de la política de control de acceso del mensaje.

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)