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

nl::Weave::WeaveServerDelegateBase

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

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

Resumen

Herencia

Tipos protegidos

@69{
  kAccessControlResult_NotDetermined = 0,
  kAccessControlResult_Accepted = 1,
  kAccessControlResult_Rejected = 2,
  kAccessControlResult_Rejected_RespSent = 3,
  kAccessControlResult_Rejected_Silent = 4
}
enum
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 los mensajes de solicitud de servidor entrante.
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 los mensajes de solicitud de servidor entrante.

La infraestructura del servidor de Weave llama a este método para determinar si un mensaje de solicitud entrante se debe aceptar y procesar con normalidad o rechazar. Las clases delegadas asociadas con las implementaciones del servidor de Weave deben anular este método a fin de implementar una política de control de acceso adecuada para sus protocolos. Las aplicaciones pueden anular este método para admitir políticas personalizadas más allá de las que proporcionan las implementaciones estándar del servidor.

Se espera que las implementaciones de este método muestren un valor de resultado Aceptado o Rechazado según el resultado de la evaluación de la política de control de acceso. Mostrar un resultado de Rechazado hace que se envíe un StatusReport al solicitante que contiene el estado Common/AccessDenied. Como alternativa, las implementaciones de métodos pueden optar por enviar sus propias respuestas, que pueden ser un StatusReport o cualquier otro tipo de mensaje. En este caso, el método debe mostrar un resultado de Rejected_RespSent para indicar que ya se envió una respuesta. Por último, las implementaciones pueden mostrar Rejected_Silent para indicar que la solicitud se debe rechazar sin enviar una respuesta al solicitante.

Las clases que anulan el método EnforceAccessControl() son obligatorias en los casos de llamadas para llamar al método con un nombre similar en su clase superior inmediata, ya sea la clase WeaveServerDelegateBase o una clase derivada de esa clase. Primero, los métodos de anulación 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 determinarlo.

Detalles
Parámetros
[in] ec
Es el ExchangeContext en el que se recibió el mensaje.
[in] msgProfileId
El ID de perfil del mensaje recibido
[in] msgType
El tipo de mensaje recibido.
[in] msgInfo
Una estructura WeaveMessageInfo 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 del mensaje recibido. Cuando se ingresa al método, el valor representa el resultado tentativo en el punto actual del proceso de evaluación. Al regresar, se espera que el resultado represente la evaluación final de la política de control de acceso del mensaje.

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)