nl::Weave::WeaveServerBase

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

Gemeinsames Basisobjekt für die Implementierung von Weave-Profilen für unerwünschte Antworten (Server), die das Validieren authentifizierter Anfragen und das Senden von Statusberichten einschließen und einen gemeinsamen Datenspeicher für den Fabric-Status und einen Exchange-Manager bereitstellen.

Zusammenfassung

Übernahme

Direkte bekannte abgeleitete Klassen:
  nl::Weave::Profiles::DeviceControl::DeviceControlServer
  nl::Weave::Profiles::DeviceDescription::DeviceDescriptionServer
  nl::Weave::Profiles::Echo_Next::WeaveEchoServer
  nl::Weave::Profiles::FabricProvisioning::FabricProvisioningServer
  nl::Weave::Profiles::Heartbeat::WeaveHeartbeatReceiver
  nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningServer
  nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningServer
  nl::Weave::Profiles::TokenPairing::TokenPairingServer
  nl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingServer
  nl::Weave::Profiles::WeaveEchoServer

Öffentliche Attribute

ExchangeMgr
[READ ONLY] Exchange-Manager-Objekt
FabricState
[READ ONLY] Fabric-Statusobjekt

Öffentliche statische Funktionen

SendStatusReport(ExchangeContext *ec, uint32_t statusProfileId, uint16_t statusCode, WEAVE_ERROR sysError)
Sendet einen Weave-Statusbericht mit Standardnachrichten-Flags an den Initiator des angegebenen Exchange-Servers, der den Statuscode im angegebenen Profil und den Systemfehler enthält.
SendStatusReport(ExchangeContext *ec, uint32_t statusProfileId, uint16_t statusCode, WEAVE_ERROR sysError, uint16_t sendFlags)
Sendet einen Weave-Statusbericht mit den bereitgestellten Nachrichtenmarkierungen an den Initiator des angegebenen Exchange-Servers, der den Statuscode im angegebenen Profil und den Systemfehler enthält.

Geschützte Funktionen

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, WeaveServerDelegateBase *delegate)
bool
Bestimmen Sie, ob eine auf einen Weave-Server eingehende Anfragenachricht akzeptiert oder verworfen werden soll.
WeaveServerBase(void)

Öffentliche Attribute

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[READ ONLY] Exchange-Manager-Objekt

FabricState

WeaveFabricState * FabricState

[READ ONLY] Fabric-Statusobjekt

Öffentliche statische Funktionen

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *ec,
  uint32_t statusProfileId,
  uint16_t statusCode,
  WEAVE_ERROR sysError
)

Sendet einen Weave-Statusbericht mit Standardnachrichten-Flags an den Initiator des angegebenen Exchange-Servers, der den Statuscode im angegebenen Profil und den Systemfehler enthält.

Details
Parameter
[in] ec
Ein Zeiger auf den Exchange-Kontext, für den der Statusbericht gesendet werden soll.
[in] statusProfileId
Das Profil für den angegebenen Statuscode.
[in] statusCode
Der zu sendende Statuscode.
[in] sysError
Der Systemfehler, der mit dem Statuscode verknüpft ist oder damit korreliert.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *ec,
  uint32_t statusProfileId,
  uint16_t statusCode,
  WEAVE_ERROR sysError,
  uint16_t sendFlags
)

Sendet einen Weave-Statusbericht mit den bereitgestellten Nachrichtenmarkierungen an den Initiator des angegebenen Exchange-Servers, der den Statuscode im angegebenen Profil und den Systemfehler enthält.

Details
Parameter
[in] ec
Ein Zeiger auf den Exchange-Kontext, für den der Statusbericht gesendet werden soll.
[in] statusProfileId
Das Profil für den angegebenen Statuscode.
[in] statusCode
Der zu sendende Statuscode.
[in] sysError
Der Systemfehler, der mit dem Statuscode verknüpft ist oder damit korreliert.
[in] sendFlags
Flags, die von der Anwendung für den Versand des Weave-Statusberichts festgelegt wurden.

Geschützte Funktionen

EnforceAccessControl

bool EnforceAccessControl(
  ExchangeContext *ec,
  uint32_t msgProfileId,
  uint8_t msgType,
  const WeaveMessageInfo *msgInfo,
  WeaveServerDelegateBase *delegate
)

Bestimmen Sie, ob eine auf einen Weave-Server eingehende Anfragenachricht akzeptiert oder verworfen werden soll.

Diese Methode ist für Weave-Serverimplementierungen vorgesehen, um eine erweiterbare Zugriffssteuerungsrichtlinie für eingehende Anfragenachrichten zu implementieren. Serverimplementierungen, die auf delegierte Objekte angewiesen sind, sollten diese Methode frühzeitig in der Nachrichtenverarbeitung aufrufen, um festzustellen, ob die Nachrichtenverarbeitung fortgesetzt werden soll.

Diese Methode ruft die virtuelle Methode WeaveServerDelegateBase::EnforceAccessControl() für den bereitgestellten Delegaten auf, um die Zugriffssteuerungsrichtlinie für die Nachricht zu bewerten. Weave-Serverdelegatklassen und anwendungsspezifische Bevollmächtigte, die von den Standardserverklassen abgeleitet sind, sollten die virtuelle Methode überschreiben, um bestimmte Richtlinien für die Zugriffssteuerung zu erzwingen.

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 mit Informationen zur empfangenen Nachricht.
[in] delegate
Das von der Anwendung bereitgestellte Delegatobjekt, mit dem die Standardrichtlinie für die Zugriffssteuerung für Nachrichten überschrieben werden kann.
Rückgabewerte
true
Ob die Nachricht wie gewohnt akzeptiert und verarbeitet werden soll.
false
Wenn die Nachrichtenverarbeitung beendet und die Nachricht verworfen werden soll.

WeaveServerBase

 WeaveServerBase(
  void
)