nl::Weave::WeaveServerBase

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

Objeto de base comum para implementar respostas não solicitadas de perfis (servidores) do Weave que encapsulam a validação de solicitações autenticadas e o envio de relatórios de status, além de fornecer armazenamento comum de membros de dados para o estado da malha e um gerenciador de troca.

Resumo

Herança

Subclasses conhecidas diretas:
  nl::Weave::Profiles::DeviceControl::DeviceControlServer
  nl::Weave::Profiles::DeviceDescription::DeviceDescriptionServer
  nl::Weave::Profiles::Echo_Next::WeaveEchoServer
  nl::Weave::Profiles::FabricProvisioning::FabricProvisioningServer
  nl::Weave::Profiles::Heartbeat::WeaveHeartbeatReceiver
  nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningServer
  nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningServer
  nl::Weave::Profiles::TokenPairing::TokenPairingServer
  nl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingServer
  nl::Weave::Profiles::WeaveEchoServer

Atributos públicos

ExchangeMgr
[SOMENTE LEITURA] Objeto do gerenciador do Exchange
FabricState
[READ ONLY] Objeto de estado do Fabric

Funções estáticas públicas

SendStatusReport(ExchangeContext *ec, uint32_t statusProfileId, uint16_t statusCode, WEAVE_ERROR sysError)
Envia um relatório de status do Weave com sinalizações de mensagem padrão para o iniciador na troca especificada, contendo o código de status no perfil especificado e no erro do sistema.
SendStatusReport(ExchangeContext *ec, uint32_t statusProfileId, uint16_t statusCode, WEAVE_ERROR sysError, uint16_t sendFlags)
Envia um relatório de status do Weave com as sinalizações de mensagem fornecidas para o iniciador na troca especificada, contendo o código de status no perfil especificado e no erro do sistema.

Funções protegidas

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, WeaveServerDelegateBase *delegate)
bool
Determine se uma mensagem de solicitação recebida em um servidor do Weave deve ser aceita ou descartada.
WeaveServerBase(void)

Atributos públicos

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[SOMENTE LEITURA] Objeto do gerenciador do Exchange

FabricState

WeaveFabricState * FabricState

[READ ONLY] Objeto de estado do Fabric

Funções estáticas públicas

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *ec,
  uint32_t statusProfileId,
  uint16_t statusCode,
  WEAVE_ERROR sysError
)

Envia um relatório de status do Weave com sinalizações de mensagem padrão para o iniciador na troca especificada, contendo o código de status no perfil especificado e no erro do sistema.

Detalhes
Parâmetros
[in] ec
Um ponteiro para o contexto da troca em que o relatório de status será enviado.
[in] statusProfileId
O perfil para o código de status especificado.
[in] statusCode
O código de status a ser enviado.
[in] sysError
O erro do sistema associado ou correlacionado ao código de status.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *ec,
  uint32_t statusProfileId,
  uint16_t statusCode,
  WEAVE_ERROR sysError,
  uint16_t sendFlags
)

Envia um relatório de status do Weave com as sinalizações de mensagem fornecidas para o iniciador na troca especificada, contendo o código de status no perfil especificado e no erro do sistema.

Detalhes
Parâmetros
[in] ec
Um ponteiro para o contexto da troca em que o relatório de status será enviado.
[in] statusProfileId
O perfil para o código de status especificado.
[in] statusCode
O código de status a ser enviado.
[in] sysError
O erro do sistema associado ou correlacionado ao código de status.
[in] sendFlags
Sinalizações definidas pelo aplicativo para o envio do relatório de status do Weave.

Funções protegidas

EnforceAccessControl

bool EnforceAccessControl(
  ExchangeContext *ec,
  uint32_t msgProfileId,
  uint8_t msgType,
  const WeaveMessageInfo *msgInfo,
  WeaveServerDelegateBase *delegate
)

Determine se uma mensagem de solicitação recebida em um servidor do Weave deve ser aceita ou descartada.

Esse método destina-se a ser usado por implementações de servidor do Weave para implementar a política de controle de acesso extensível para mensagens de solicitação recebidas. As implementações de servidor que dependem de objetos delegados precisam chamar esse método no início do processamento da mensagem para determinar se o processamento vai continuar.

Esse método chama o método virtual WeaveServerDelegateBase::EnforceAccessControl() no delegado fornecido para avaliar a política de controle de acesso da mensagem. As classes de delegação do servidor do Weave e os delegados específicos do aplicativo derivados das classes de servidor padrão devem substituir o método virtual para impor políticas de controle de acesso específicas.

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 da mensagem recebida.
[in] msgInfo
Uma estrutura WeaveMessageInfo que contém informações sobre a mensagem recebida.
[in] delegate
O objeto delegado fornecido pelo aplicativo que pode ser usado para substituir a política de controle de acesso a mensagens padrão.
Valores de retorno
true
Se a mensagem deve ser aceita e processada normalmente.
false
Se o processamento da mensagem deve parar e a mensagem deve ser descartada.

WeaveServerBase

 WeaveServerBase(
  void
)