Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl::Weave::WeaveServerDelegateBase

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

Eine allgemeine Basisklasse zur Implementierung von Weave-Serverdelegiertenobjekten

Fazit

Übernahme

Ein Beispiel: Ein Beispiel:

Geschützte Typen

@69{
  kAccessControlResult_NotDetermined = 0,
  kAccessControlResult_Accepted = 1,
  kAccessControlResult_Rejected = 2,
  kAccessControlResult_Rejected_RespSent = 3,
  kAccessControlResult_Rejected_Silent = 4
}
enum
AccessControlResult Typdef
uint8_t

Geschützte Funktionen

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
virtual void
Virtuelle Methode zum Festlegen der Zugriffssteuerungsrichtlinie auf Nachrichtenebene für Nachrichten von eingehenden Servern
WeaveServerDelegateBase(void)

Geschützte Typen

@69

 @69

AccessControlResult

uint8_t AccessControlResult

Geschützte Funktionen

AccessControl erzwingen

virtual void EnforceAccessControl(
  ExchangeContext *ec,
  uint32_t msgProfileId,
  uint8_t msgType,
  const WeaveMessageInfo *msgInfo,
  AccessControlResult & result
)

Virtuelle Methode zum Festlegen der Zugriffssteuerungsrichtlinie auf Nachrichtenebene für Nachrichten von eingehenden Servern

Diese Methode wird von der Weave-Serverinfrastruktur aufgerufen, um festzustellen, ob eine eingehende Anfragenachricht normal angenommen und verarbeitet oder abgelehnt werden soll. Delegierte Klassen, die mit Weave-Serverimplementierungen verknüpft sind, müssen diese Methode überschreiben, um entsprechende Richtlinien für die Zugriffssteuerung für ihre Protokolle zu implementieren. Anwendungen können diese Methode weiter überschreiben, um benutzerdefinierte Richtlinien zu unterstützen, die über die Standard-Serverimplementierungen hinausgehen.

Implementierungen dieser Methode sollten auf der Grundlage des Ergebnisses der Richtlinienbewertung für die Zugriffssteuerung den Ergebniswert „Akzeptiert“ oder „Abgelehnt“ zurückgeben. Wird ein Ergebnis abgelehnt, wird ein StatusReport mit dem Status Common/AccessDenied an den Anforderer gesendet. Alternativ können Methoden zur Implementierung verwendet werden, um eigene Antworten zu senden. Dabei kann es sich um einen StatusReport oder eine andere Art von Nachricht handeln. In diesem Fall sollte die Methode ein Ergebnis von „Deny_RespSent“ zurückweisen, dass die Antwort bereits gesendet wurde. Außerdem kann Implementierungen „Deny_Silent“ zurückgegeben werden, um anzugeben, dass die Anfrage abgelehnt werden soll, ohne dass der Anforderer eine Antwort sendet.

Klassen, die die Methode EnforceAccessControl() überschreiben, sind für Aufruffälle erforderlich, um die Methode mit ähnlichem Namen in der unmittelbaren übergeordneten Klasse aufzurufen. Dies kann entweder die Klasse WeaveServerDelegateBase oder eine aus dieser Klasse abgeleitete Klasse sein. Bei überschriebenen Methoden sollte zuerst der Ergebniswert mit der Bestimmung der Zugriffssteuerungsrichtlinie aktualisiert und dann die Basisklasse aufgerufen werden, um diese Entscheidung zu treffen.

Details
Parameter
[in] ec
ExchangeContext, über den die Nachricht empfangen wurde.
[in] msgProfileId
Die Profil-ID der erhaltenen Nachricht
[in] msgType
Der Nachrichtentyp der empfangenen Nachricht.
[in] msgInfo
Eine WeaveMessageInfo-Struktur mit Informationen zur empfangenen Nachricht.
[in,out] result
Ein Aufzählungswert, der das Ergebnis der Bewertung der Zugriffssteuerung für die empfangene Nachricht beschreibt. Beim Aufrufen der Methode stellt der Wert das vorläufige Ergebnis zum aktuellen Zeitpunkt im Bewertungsprozess dar. Nach der Rückgabe ist das Ergebnis die letzte Prüfung der Richtlinie für die Zugriffssteuerung für die Nachricht.

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)