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{
|
enum |
AccessControlResult
|
typedefuint8_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 |
|
WeaveServerDelegateBase
WeaveServerDelegateBase( void )