nl:: Weave:: WeaveServerDelegateBase
#include <src/lib/core/WeaveServerBase.h>
Classe de base commune pour implémenter des objets délégués de serveur Weave.
Résumé
Héritage
Sous-classes directes connues: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
Types protégés |
|
---|---|
@69{
|
énum |
AccessControlResult
|
typedefuint8_t
|
Fonctions protégées |
|
---|---|
EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
|
virtual void
Méthode virtuelle permettant de déterminer la stratégie de contrôle d'accès au niveau des messages pour les messages de requête de serveur entrants.
|
WeaveServerDelegateBase(void)
|
|
Types protégés
@69
@69
AccessControlResult
uint8_t AccessControlResult
Fonctions protégées
EnforceAccessControl
virtual void EnforceAccessControl( ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result )
Méthode virtuelle permettant de déterminer la stratégie de contrôle d'accès au niveau des messages pour les messages de requête de serveur entrants.
Cette méthode est appelée par l'infrastructure de serveurs Weave pour déterminer si un message de requête entrant doit être accepté et traité normalement, ou si un message de requête entrant doit être rejeté. Les classes déléguées associées aux implémentations de serveurs Weave doivent remplacer cette méthode afin de mettre en œuvre des stratégies de contrôle d'accès appropriées pour leurs protocoles. Les applications peuvent en outre ignorer cette méthode pour accepter des règles personnalisées autres que celles fournies par les implémentations de serveur standards.
Les implémentations de cette méthode doivent renvoyer une valeur de résultat "Accepté" ou "Refusé" en fonction du résultat de l'évaluation de la stratégie de contrôle des accès. Le renvoi d'un résultat Refusé entraîne l'envoi d'un StatusReport au demandeur contenant l'état Common/AccessDenied. Les implémentations de méthodes peuvent également choisir d'envoyer leurs propres réponses, sous la forme d'un rapport d'état ou de tout autre type de message. Dans ce cas, la méthode doit renvoyer un résultat Rejet_RespSent pour signaler qu'une réponse a déjà été envoyée. Enfin, les implémentations peuvent renvoyer la valeur Deny_Silent pour indiquer que la requête doit être rejetée sans envoyer de réponse au demandeur.
Dans les cas d'appel, les classes qui remplacent la méthode EnforceAccessControl() doivent appeler la méthode portant un nom similaire sur leur classe parente immédiate, qu'il s'agisse de la classe WeaveServerDelegateBase ou d'une classe dérivée de cette classe. Les méthodes de remplacement doivent d'abord mettre à jour la valeur du résultat avec leur détermination de la stratégie de contrôle des accès, puis appeler leur classe de base pour prendre sa décision.
Détails | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
WeaveServerDelegateBase
WeaveServerDelegateBase( void )