nl:: Weave:: WeaveServerDelegateBase
#include <src/lib/core/WeaveServerBase.h>
Classe de base commune pour implémenter des objets délégués du serveur Weave.
Résumé
Héritage
Sous-classes directes connues :nl::Weave::Profiles::DeviceControl::DeviceControlDelegate
nl::Weave::Profiles::FabricProvisioning::FabricProvisioningDelegate
nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningDelegatenl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningDelegatenl::Weave::Profiles::TokenPairing::TokenPairingDelegatenl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingDelegate
Types protégés |
|
---|---|
@69{
|
enum |
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 rejeté. Les classes déléguées associées aux implémentations de serveurs Weave doivent remplacer cette méthode afin d'implémenter des stratégies de contrôle d'accès appropriées pour leurs protocoles. Les applications peuvent également remplacer 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 devraient renvoyer la valeur "Acceptée" ou "Refusée" en fonction du résultat de l'évaluation des règles de contrôle des accès. Le renvoi du résultat Refusé entraîne l'envoi d'un StatusReport au demandeur contenant l'état Commun/AccessDenied. Les implémentations de méthodes peuvent également choisir d'envoyer leurs propres réponses, sous la forme d'un StatusReport ou de tout autre type de message. Dans ce cas, la méthode doit renvoyer le résultat Rejet_RespSent pour signaler qu'une réponse a déjà été envoyée. Enfin, les implémentations peuvent renvoyer Dismiss_Silent pour indiquer que la requête doit être rejetée sans envoyer de réponse au demandeur.
Les classes qui ignorent la méthode EnforceAccessControl() sont nécessaires dans les cas d'appel pour appeler la méthode portant le même nom 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 d'accès, puis appeler leur classe de base pour la déterminer.
Détails | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
WeaveServerDelegateBase
WeaveServerDelegateBase( void )