nl:: Weave:: WeaveServerDelegateBase
#include <src/lib/core/WeaveServerBase.h>
Una clase base común para implementar objetos delegados del servidor de Weave.
Resumen
Herencia
Direct Known Subclasses:nl::Weave::Profiles::DeviceControl::DeviceControlDelegate
nl::Weave::Profiles::FabricProvisioning::FabricProvisioningDelegates:
nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningDelegatenl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningDelegatenl::Weave::Profiles::TokenPairing::TokenPairingDelegatenl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingDelegate
Tipos protegidos |
|
---|---|
@69{
|
enum |
AccessControlResult
|
typedefuint8_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 del mensaje para los mensajes de solicitud del 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 del mensaje para los mensajes de solicitud del servidor entrantes.
La infraestructura del servidor de Weave llama a este método para determinar si un mensaje de solicitud entrante debe aceptarse y procesarse normalmente, o si se debe rechazar. Las clases delegadas asociadas con implementaciones del servidor de 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 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 en función del resultado de la evaluación de la política de control de acceso. Si se muestra un resultado Rechazado, se enviará un StatusReport al solicitante con 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 debería mostrar un resultado de Dismiss_RespSent para indicar que ya se envió una respuesta. Por último, las implementaciones pueden mostrar Proposal_Silent para indicar que la solicitud se debe rechazar sin enviar una respuesta al solicitante.
En los casos de llamada, las clases que anulan el método EnforceAccessControl() deben llamar al método con nombre similar en su clase superior inmediata, ya sea la clase WeaveServerDelegateBase o una clase derivada de esa clase. Los métodos de anulación deben actualizar primero el valor del resultado con su determinación de la política de control de acceso y, luego, llamar a su clase base para realizar su determinación.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
WeaveServerDelegateBase
WeaveServerDelegateBase( void )