nl::Weave::WeaveServerDelegateBase

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

Eine allgemeine Basisklasse für die Implementierung von Weave-Server-Delegatobjekten.

Zusammenfassung

Übernahme

Direkte bekannte Unterklassen:
  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

Geschützte Typen

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

Geschützte Funktionen

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
virtual void
Virtuelle Methode zum Bestimmen der Zugriffssteuerungsrichtlinie auf Nachrichtenebene für eingehende Serveranfragenachrichten.
WeaveServerDelegateBase(void)

Geschützte Typen

@69

 @69

AccessControlResult

uint8_t AccessControlResult

Geschützte Funktionen

EnforceAccessControl

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

Virtuelle Methode zum Bestimmen der Zugriffssteuerungsrichtlinie auf Nachrichtenebene für eingehende Serveranfragenachrichten.

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

Bei Implementierungen dieser Methode wird basierend auf dem Ergebnis der Auswertung der Richtlinien für die Zugriffssteuerung davon ausgegangen, dass der Ergebniswert „Angenommen“ oder „Abgelehnt“ zurückgegeben wird. Wird das Ergebnis „Abgelehnt“ zurückgegeben, wird ein StatusReport mit dem Status Common/AccessDenied an den Antragsteller gesendet. Alternativ können Methodenimplementierungen ihre eigenen Antworten senden. Dabei kann es sich um einen StatusReport oder einen anderen Nachrichtentyp handeln. In diesem Fall sollte die Methode das Ergebnis Reject_RespSent zurückgeben, um zu signalisieren, dass bereits eine Antwort gesendet wurde. Schließlich können Implementierungen den Wert „Abgelehnt_Silent“ zurückgeben, um anzugeben, dass die Anfrage abgelehnt werden soll, ohne dass eine Antwort an den Anfragenden gesendet wird.

Klassen, die die Methode EnforceAccessControl() überschreiben, sind in Aufruffällen erforderlich, um die ähnlich benannte Methode für ihre unmittelbare übergeordnete Klasse aufzurufen, z. B. die Klasse WeaveServerDelegateBase oder eine von dieser Klasse abgeleitete Klasse. Bei Überschreibungsmethoden sollte zuerst der Ergebniswert mit der Bestimmung der Zugriffssteuerungsrichtlinie aktualisiert werden und dann die Basisklasse aufrufen, um diese zu bestimmen.

Details
Parameter
[in] ec
Der ExchangeContext, über den die Nachricht empfangen wurde.
[in] msgProfileId
Die Profil-ID der empfangenen Nachricht.
[in] msgType
Der Nachrichtentyp der empfangenen Nachricht.
[in] msgInfo
Eine WeaveMessageInfo-Struktur, die Informationen zur empfangenen Nachricht enthält.
[in,out] result
Ein Aufzählungswert, der das Ergebnis der Auswertung der Zugriffssteuerungsrichtlinie für die empfangene Nachricht beschreibt. Beim Einstieg in die Methode stellt der Wert das vorläufige Ergebnis am aktuellen Punkt im Bewertungsprozess dar. Bei der Rückgabe wird erwartet, dass das Ergebnis die endgültige Bewertung der Zugriffssteuerungsrichtlinie für die Nachricht darstellt.

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)