nl::Weave::WeaveServerDelegateBase

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

Uma classe base comum para implementar objetos delegados do servidor do Weave.

Resumo

Herança

O de O O O nome de O Uma Uma Uma Uma Uma Uma Uma de ,

Tipos protegidos

@69{
  kAccessControlResult_NotDetermined = 0,
  kAccessControlResult_Accepted = 1,
  kAccessControlResult_Rejected = 2,
  kAccessControlResult_Rejected_RespSent = 3,
  kAccessControlResult_Rejected_Silent = 4
}
tipo enumerado
AccessControlResult typedef
uint8_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 das mensagens de solicitação do servidor de entrada.
WeaveServerDelegateBase(void)

Tipos protegidos

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 das 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 do servidor do Weave precisam modificar esse método para implementar políticas de controle de acesso adequadas aos protocolos. Os aplicativos podem modificar ainda mais esse método para oferecer suporte a políticas personalizadas, além das fornecidas pelas implementações de servidor padrão.

As implementações desse método precisam retornar um valor de "Aceitar" ou "Rejeitado" com base no resultado da avaliação da política de controle de acesso. Se um resultado retornado for rejeitado, um StatusReport será enviado ao solicitante com o status Common/Accessneg. Como alternativa, as implementações de método podem enviar as próprias respostas, que podem ser um StatusReport ou qualquer outro tipo de mensagem. Nesse caso, o método precisa retornar um resultado de Rejected_RespSent para sinalizar que uma resposta já foi enviada. Por fim, as implementações podem retornar Rejected_Silent para indicar que a solicitação precisa ser rejeitada sem enviar uma resposta ao solicitante.

As classes que substituem o método EnforceAccessControl() são necessárias em casos de chamada para chamar o método com nome semelhante na classe pai imediata, seja a classe WeaveServerDelegateBase ou uma classe derivada dessa classe. Os métodos que substituem são primeiro atualizar o valor do resultado com a determinação da política de controle de acesso e depois chamar a classe base para definir o valor.

Detalhes
Parâmetros
[in] ec
O ExchangeContext em que a mensagem foi recebida.
[in] msgProfileId
O ID do perfil da mensagem recebida.
[in] msgType
O tipo de mensagem recebida.
[in] msgInfo
Uma estrutura WeaveMessageInfo que contém informações sobre a mensagem recebida.
[in,out] result
Um valor enumerado que descreve o resultado da avaliação da política de controle de acesso para a mensagem recebida. Ao entrar no método, o valor representa o resultado provisório no ponto atual do processo de avaliação. Após a devolução, espera-se que o resultado represente a avaliação final da política de controle de acesso da mensagem.

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)