nl::Weave::WeaveServerBase

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

Gemeinsames Basisobjekt für die Implementierung von unaufgeforderten Weave-Profilern (Servern), das bzw. die validierte authentifizierte Anfragen enthält und Statusberichte sendet sowie einen gemeinsam genutzten Datenspeicher für Fabric-Status und einen Exchange-Manager bereitstellt.

Fazit

Übernahme

Eine der folgenden Aktionen ist möglich:

Öffentliche Attribute

ExchangeMgr
[NUR LESEN] Exchange-Manager-Objekt
FabricState
[NUR LESEN] Objekt vom Typ „Fabric“

Öffentliche statische Funktionen

SendStatusReport(ExchangeContext *ec, uint32_t statusProfileId, uint16_t statusCode, WEAVE_ERROR sysError)
Einen Weave-Statusbericht mit Standard-Meldungsmeldungen senden an den Initiator 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)
Sende einen Weave-Statusbericht mit den angegebenen Nachrichten-Flags an den Initiator 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
Bestimmen Sie, ob eine eingehende Anfragenachricht an einen Weave-Server akzeptiert oder verworfen werden soll.
WeaveServerBase(void)

Öffentliche Attribute

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[NUR LESEN] Exchange-Manager-Objekt

Stoffstatus

WeaveFabricState * FabricState

[NUR LESEN] Objekt vom Typ „Fabric“

Öffentliche statische Funktionen

Bericht zum Status senden

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

Einen Weave-Statusbericht mit Standard-Meldungsmeldungen senden an den Initiator der angegebenen Anzeigenplattform, der den Statuscode im angegebenen Profil und den Systemfehler enthält.

Details
Parameter
[in] ec
Mauszeiger auf die Plattform, in der 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 mit diesem verknüpft ist.

Bericht zum Status senden

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

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

Details
Parameter
[in] ec
Mauszeiger auf die Plattform, in der 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 mit diesem verknüpft ist.
[in] sendFlags
Die von der Anwendung für den Weave-Statusbericht gesendeten Flags.

Geschützte Funktionen

AccessControl erzwingen

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

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

Diese Methode sollte von Weave-Serverimplementierungen verwendet werden, 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() im angegebenen Bevollmächtigten auf, um die Richtlinie zur Zugriffssteuerung für die Nachricht zu evaluieren. Die Webdeleg-Klassen und anwendungsspezifischen 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
ExchangeContext, über den die Nachricht empfangen wurde.
[in] msgProfileId
Die Profil-ID der erhaltenen 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

Webserver-Basis

 WeaveServerBase(
  void
)