Google is committed to advancing racial equity for Black communities. See how.

nl :: Tecer:: WeaveServerDelegateBase

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

Uma classe base comum para a implementação de objetos delegados do servidor Weave.

Resumo

Herança

Subclasses diretamente conhecidas:
  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 {
kAccessControlResult_NotDetermined = 0,
kAccessControlResult_Accepted = 1,
kAccessControlResult_Rejected = 2,
kAccessControlResult_Rejected_RespSent = 3,
kAccessControlResult_Rejected_Silent = 4
}
enum
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 da mensagem para 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 da mensagem para mensagens de solicitação do servidor de entrada.

Este método é chamado pela infraestrutura do servidor Weave para determinar se uma mensagem de solicitação recebida deve ser aceita e processada normalmente ou rejeitada. As classes delegadas associadas às implementações do servidor Weave devem substituir esse método para implementar políticas de controle de acesso apropriadas para seus protocolos. Os aplicativos podem substituir ainda mais esse método para oferecer suporte a políticas personalizadas além daquelas fornecidas pelas implementações de servidor padrão.

As implementações desse método devem retornar um valor de resultado de Aceito ou Rejeitado 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 contendo o status Common / AccessDenied. Como alternativa, as implementações de método podem escolher enviar suas próprias respostas, que podem ser um StatusReport ou qualquer outro tipo de mensagem. Nesse caso, o método deve retornar um resultado Reject_RespSent para sinalizar que uma resposta já foi enviada. Finalmente, as implementações podem retornar Reject_Silent para indicar que a solicitação deve ser rejeitada sem enviar uma resposta ao solicitante.

As classes que se sobrepõem a EnforceAccessControl () método são necessários nos casos de chamada para chamar o método com o mesmo nome na sua classe mais imediato, o ser que o WeaveServerDelegateBase classe, ou uma classe derivada a partir 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 sua classe base para fazer sua determinação.

Detalhes
Parâmetros
[in] ec
O ExchangeContext sobre a qual foi recebida a mensagem.
[in] msgProfileId
O id do perfil da mensagem recebida.
[in] msgType
O tipo de mensagem da mensagem recebida.
[in] msgInfo
Um WeaveMessageInfo estrutura contendo informação 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. Ao retornar, espera-se que o resultado represente a avaliação final da política de controle de acesso da mensagem.

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)