nl:: Weave:: WeaveServerDelegateBase
#include <src/lib/core/WeaveServerBase.h>
Una classe base comune per l'implementazione degli oggetti delegati del server Weave.
Riepilogo
Eredità
Sottoclassi note direttamente: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
Tipi protetti |
|
---|---|
@69{
|
enum |
AccessControlResult
|
typedefuint8_t
|
Funzioni protette |
|
---|---|
EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
|
virtual void
Metodo virtuale per determinare il criterio di controllo dell'accesso a livello di messaggio per i messaggi di richiesta del server in arrivo.
|
WeaveServerDelegateBase(void)
|
|
Tipi protetti
@69
@69
AccessControlResult
uint8_t AccessControlResult
Funzioni protette
EnforceAccessControl
virtual void EnforceAccessControl( ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result )
Metodo virtuale per determinare il criterio di controllo dell'accesso a livello di messaggio per i messaggi di richiesta del server in arrivo.
Questo metodo viene chiamato dall'infrastruttura dei server Weave per determinare se un messaggio di richiesta in arrivo deve essere accettato ed elaborato normalmente o rifiutato. Le classi delegati associate alle implementazioni del server Weave devono sostituire questo metodo per implementare criteri di controllo dell'accesso appropriati per i rispettivi protocolli. Le applicazioni possono sostituire ulteriormente questo metodo per supportare norme personalizzate oltre a quelle fornite dalle implementazioni standard del server.
Le implementazioni di questo metodo dovrebbero restituire come risultato Accettato o Rifiutato in base al risultato della valutazione dei criteri di controllo dell'accesso. Se restituisci un risultato rifiutato, al richiedente viene inviato uno StatusReport con lo stato Common/AccessDenied. In alternativa, le implementazioni dei metodi possono scegliere di inviare le proprie risposte, che possono essere uno StatusReport o qualsiasi altro tipo di messaggio. In questo caso, il metodo dovrebbe restituire un risultato di Rifiuta_RespSent per segnalare che è già stata inviata una risposta. Infine, le implementazioni possono restituire Rifiuta_Silent per indicare che la richiesta deve essere rifiutata senza inviare una risposta al richiedente.
Nei casi di chiamata, le classi che eseguono l'override del metodo EnforceAccessControl() devono chiamare il metodo simile alla classe padre immediata, che sia la classe WeaveServerDelegateBase o una classe derivata da quella classe. I metodi di override devono prima aggiornare il valore del risultato con l'indicazione del criterio di controllo dell'accesso, quindi richiamare la classe base per determinarla.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
WeaveServerDelegateBase
WeaveServerDelegateBase( void )