nl:: Weave:: WeaveServerDelegateBase
#include <src/lib/core/WeaveServerBase.h>
Uma classe de base comum para implementar objetos delegados do servidor do Weave.
Resumo
Herança
Subclasses conhecidas diretas: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
Tipos protegidos |
|
---|---|
@69{
|
enum |
AccessControlResult
|
typedefuint8_t
|
Funções protegidas |
|
---|---|
EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
|
virtual void
Método virtual para determinar a política de controle de acesso no nível da mensagem para mensagens de solicitação do servidor de entrada.
|
WeaveServerDelegateBase(void)
|
|
Tipos protegidos
a 69
@69
AccessControlResult
uint8_t AccessControlResult
Funções protegidas
EnforceAccessControl
virtual void EnforceAccessControl( ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result )
Método virtual para determinar a política de controle de acesso no nível da mensagem para mensagens de solicitação do servidor de entrada.
Esse método é chamado pela infraestrutura do servidor do Weave para determinar se uma mensagem de solicitação recebida deve ser aceita e processada normalmente ou rejeitada. As classes delegadas associadas a implementações de servidor do Weave devem substituir esse método para implementar políticas de controle de acesso apropriadas para os protocolos. Os aplicativos podem substituir esse método para oferecer suporte a políticas personalizadas além daquelas fornecidas pelas implementações do servidor padrão.
As implementações desse método devem retornar um valor de resultado "Aceito" ou "Recusado" com base no resultado da avaliação da política de controle de acesso. Retornar um resultado de "Rejeitado" faz com que um StatusReport seja enviado ao solicitante com o status "Common/AccessDenied". Como alternativa, as implementações de métodos podem optar por enviar as próprias respostas, que podem ser um StatusReport ou qualquer outro tipo de mensagem. Nesse caso, o método deve retornar um resultado de Rejeitar_RespSent para sinalizar que uma resposta já foi enviada. Por fim, as implementações podem retornar Rejeitar_Silent para indicar que a solicitação deve ser rejeitada sem enviar uma resposta ao solicitante.
As classes que substituem o método EnforceAccessControl() são obrigatórias nos casos de chamada para chamar o método com o mesmo nome na classe pai imediata, seja a classe WeaveServerDelegateBase ou uma classe derivada dessa classe. Os métodos de substituição devem primeiro atualizar o valor do resultado com sua determinação da política de controle de acesso e, em seguida, chamar a classe de base deles para fazer sua determinação.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
WeaveServerDelegateBase
WeaveServerDelegateBase( void )