nl:: Weave:: WeaveServerDelegateBase
#include <src/lib/core/WeaveServerBase.h>
Eine gemeinsame Basisklasse für die Implementierung von Weave-Serverdelegatobjekten.
Zusammenfassung
Übernahme
Direkte bekannte abgeleitete Klassen:nl::Weave::Profiles::DeviceControl::DeviceControlDelegate
nl::Weave::Profiles::FabricProvisioning::FabricProvisioningDelegate
nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningDelegate
nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningDelegate
nl::Weave::Profiles::TokenPairing::TokenPairingDelegate
nl::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 Festlegen der Zugriffssteuerungsrichtlinie für eingehende Serveranfragenachrichten auf Nachrichtenebene.
|
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 Festlegen der Zugriffssteuerungsrichtlinie für eingehende Serveranfragenachrichten auf Nachrichtenebene.
Diese Methode wird von der Weave-Serverinfrastruktur aufgerufen, um zu bestimmen, ob eine eingehende Anfragenachricht akzeptiert und normal verarbeitet oder abgelehnt werden soll. Delegierte Klassen, die mit Weave-Serverimplementierungen verknüpft sind, müssen diese Methode überschreiben, um geeignete Zugriffssteuerungsrichtlinien 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 Richtlinien hinausgehen.
Bei Implementierungen dieser Methode wird je nach Ergebnis der Auswertung der Zugriffssteuerungsrichtlinie erwartet, dass sie als Ergebniswert „Accepted“ (akzeptiert) oder „Abgelehnt“ zurückgegeben wird. Wird als Ergebnis "Abgelehnt" zurückgegeben, wird ein StatusReport mit dem Status "Common/AccessDenied" an den Anforderer gesendet. Alternativ können Methodenimplementierungen ihre eigenen Antworten senden, bei denen es sich um einen StatusReport oder eine andere Art von Nachricht handeln kann. In diesem Fall sollte die Methode das Ergebnis Ablehnung_RespSent zurückgeben, um zu signalisieren, dass bereits eine Antwort gesendet wurde. Schließlich können Implementierungen „Abgelehnt_Silent“ zurückgeben, um anzugeben, dass die Anfrage abgelehnt werden soll, ohne eine Antwort an den Anfragenden zu senden.
Klassen, die die Methode EnforceAccessControl() überschreiben, sind in Aufruffällen erforderlich, um die Methode mit dem gleichen Namen für ihre unmittelbar übergeordnete Klasse aufzurufen. Dabei kann es sich um die Klasse WeaveServerDelegateBase oder eine von dieser Klasse abgeleitete Klasse handeln. Bei Überschreibungsmethoden sollte zuerst der Ergebniswert mit ihrer Bestimmung der Zugriffssteuerungsrichtlinie aktualisiert und dann anhand der Basisklasse aufgerufen werden, um die Bestimmung zu treffen.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
WeaveServerDelegateBase
WeaveServerDelegateBase( void )