nl:Weave:WeaveServerDelegateBase

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

Classe de base courante pour la mise en œuvre des objets délégués du serveur Weave.

Résumé

Inheritance

<ph type="x-smartling>

Types protégés

@69{
  kAccessControlResult_NotDetermined = 0,
  kAccessControlResult_Accepted = 1,
  kAccessControlResult_Rejected = 2,
  kAccessControlResult_Rejected_RespSent = 3,
  kAccessControlResult_Rejected_Silent = 4
}
enum
AccessControlResult CANNOT TRANSLATE
uint8_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 une règle de contrôle des accès au niveau des messages pour les messages entrants du serveur.
WeaveServerDelegateBase(void)

Types protégés

@69

 @69

Résultat des contrôles d'accès

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 une règle de contrôle des accès au niveau des messages pour les messages entrants du serveur.

Cette méthode est appelée par l'infrastructure de serveur 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 pour implémenter des règles de contrôle d'accès appropriées pour leurs protocoles. Les applications peuvent remplacer cette méthode pour accepter des règles personnalisées autres que celles fournies par les mises en œuvre de serveur standards.

Les intégrations de cette méthode devraient renvoyer une valeur de résultat acceptée ou refusée en fonction du résultat de l'évaluation de la stratégie de contrôle des accès. Si un résultat est renvoyé, un StatusReport sera envoyé au demandeur contenant l'état Common/AccessDenied. Les implémentations de méthodes peuvent aussi décider d'envoyer leurs propres réponses, qui peuvent être un StatusReport ou tout autre type de message. Dans ce cas, la méthode doit renvoyer un résultat de Rejet_re envoyé, pour indiquer qu'une réponse a déjà été envoyée. Enfin, les implémentations peuvent renvoyer "Rejected_Silent" (Rejeter) pour indiquer que la requête doit être refusé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 du 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 la décision de la règle de contrôle d'accès, puis appeler leur classe de base pour se déterminer.

Détails
Paramètres
[in] ec
ExchangeContext sur lequel le message a été reçu.
[in] msgProfileId
Identifiant du profil du message reçu.
[in] msgType
Type du message reçu.
[in] msgInfo
Structure WeaveMessageInfo contenant des informations sur le message reçu.
[in,out] result
Valeur énumérée décrivant le résultat de l'évaluation de la stratégie de contrôle d'accès pour le message reçu. Une fois saisi dans la méthode, la valeur représente le résultat provisoire du processus d'évaluation. Lors du renvoi, le résultat doit représenter l'évaluation finale de la stratégie de contrôle d'accès au message.

BaseWeaveServerDelegate

 WeaveServerDelegateBase(
  void
)