nl::Weave::WeaveServerBase

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

Gemeinsames Basisobjekt für die Implementierung von Weave-Profil-Servern, die die Validierung authentifizierter Anfragen und das Senden von Statusberichten umfassen und einen gemeinsamen Speicher für Datenelemente für den Fabric-Status und einen Exchange-Manager bereitstellen.

Zusammenfassung

Übernahme

Direkt bekannte Unterklassen:
  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)
Senden Sie einen Weave-Statusbericht mit Standard-Nachrichten-Flags an den Initiator auf der angegebenen Anzeigenplattform, 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)
Senden Sie einen Weave-Statusbericht mit den bereitgestellten Nachrichten-Flags an den Initiator auf der angegebenen Anzeigenplattform, 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
Bestimmt, ob eine eingehende Anfrage an einen Weave-Server 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
)

Senden Sie einen Weave-Statusbericht mit Standardnachrichten-Flags an den Initiator auf der angegebenen Anzeigenplattform, der den Statuscode im angegebenen Profil und den Systemfehler enthält.

Details
Parameter
[in] ec
Ein Verweis auf den Austauschkontext, an 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
)

Senden Sie einen Weave-Statusbericht mit den bereitgestellten Nachrichten-Flags an den Initiator auf der angegebenen Anzeigenplattform, der den Statuscode im angegebenen Profil und den Systemfehler enthält.

Details
Parameter
[in] ec
Ein Verweis auf den Austauschkontext, an 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 oder korreliert ist.
[in] sendFlags
Von der Anwendung für den gesendeten Weave-Statusbericht festgelegte Flags.

Geschützte Funktionen

EnforceAccessControl

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

Bestimmt, ob eine eingehende Anfrage an einen Weave-Server 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 delegierten Objekten basieren, sollten diese Methode zu Beginn der Nachrichtenverarbeitung aufrufen, um zu bestimmen, ob die Nachrichtenverarbeitung fortgesetzt werden soll.

Diese Methode ruft die virtuelle Methode WeaveServerDelegateBase::EnforceAccessControl() auf dem bereitgestellten Delegate 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 Delegating Object, mit dem die Standardrichtlinie für die Zugriffssteuerung von Nachrichten überschrieben werden kann.
Rückgabewerte
true
Gibt an, ob die Nachricht wie gewohnt akzeptiert und verarbeitet werden soll.
false
Wenn die Nachrichtenverarbeitung beendet und die Nachricht verworfen werden soll.

WeaveServerBase

 WeaveServerBase(
  void
)