nl::Weave::Warm

Dieser Namespace enthält Schnittstellen für das Weave Address and Routing Module, ein portables Modul zum Konfigurieren von Weave-IP-Adressen und -Routen.

Zusammenfassung

Aufzählungen

ActionType{
  kActionTypeWiFiHostAddress = (1 << 0),
  kActionTypeThreadHostAddress = (1 << 1),
  kActionTypeThreadThreadAddress = (1 << 2),
  kActionTypeLegacy6LoWPANHostAddress = (1 << 3),
  kActionTypeLegacy6LoWPANThreadAddress = (1 << 4),
  kActionTypeHostRouteThread = (1 << 5),
  kActionTypeThreadAdvertisement = (1 << 6),
  kActionTypeThreadRoute = (1 << 7),
  kActionTypeTunnelHostAddress = (1 << 8),
  kActionTypeTunnelHostRoute = (1 << 9),
  kActionTypeThreadRoutePriority = (1 << 10),
  kActionTypeTunnelServiceRoute = (1 << 11),
  kActionTypeMax = (1 << 16)
}
enum
InitState{
  kInitStateNotInitialized = 0
}
enum
InterfaceState enum
Eine Aufzählung möglicher Werte für den Schnittstellenstatus.
InterfaceType{
  kInterfaceTypeLegacy6LoWPAN = 0,
  kInterfaceTypeThread,
  kInterfaceTypeWiFi,
  kInterfaceTypeTunnel,
  kInterfaceTypeCellular
}
enum
Eine Aufzählung möglicher Schnittstellentypen.
PlatformActionExecution{
  kPlatformActionExecutionContinue = false,
  kPlatformActionExecutionSuspendForAsynchOpCompletion = true
}
enum
PlatformResult{
  kPlatformResultSuccess = 0,
  kPlatformResultFailure,
  kPlatformResultInProgress
}
enum
Eine Aufzählung möglicher Plattform-API-Rückgabewerte.
RoutePriority enum
Ein Enum möglicher Routenprioritäten, damit eine Route Vorrang vor einer anderen erhalten kann.
SystemFeatureType{
  kSystemFeatureTypeIsFabricMember = (1 << 0),
  kSystemFeatureTypeWiFiConnected = (1 << 1),
  kSystemFeatureTypeThreadConnected = (1 << 2),
  kSystemFeatureTypeThreadRoutingEnabled = (1 << 3),
  kSystemFeatureTypeBorderRoutingEnabled = (1 << 4),
  kSystemFeatureTypeTunnelInterfaceEnabled = (1 << 5),
  kSystemFeatureTypeTunnelState = (1 << 6),
  kSystemFeatureTypeCellularConnected = (1 << 7),
  kSystemFeatureTypeMax = (1 << 16)
}
enum

Typedefs

ActionFunction)(ActionType inAction, bool inActivate, const uint64_t &inGlobalId, const uint64_t &inInterfaceId) typedef
FlagsType typedef
uint16_t

Variablen

kGlobalULAPrefixLength = 48
const uint8_t
kLegacy6LoWPANULAAddressPrefixLength = 64
const uint8_t
kThreadULAAddressPrefixLength = 64
const uint8_t
kTunnelAddressPrefixLength = 128
const uint8_t
kWiFiULAAddressPrefixLength = 64
const uint8_t
sFabricStateDelegate
sState

Funktionen

BorderRouterStateChange(InterfaceState inState)
void
Eine aufgerufene WARM API, um eine Statusänderung für die Border-Router-Funktion anzukündigen.
CellularInterfaceStateChange(InterfaceState inState)
void
Eine aufgerufene WARM API, um eine Statusänderung für die Mobilfunkschnittstelle anzukündigen.
FabricStateChange(InterfaceState inState)
void
Eine Funktion, die aufgerufen wird, um eine Statusänderung für die Weave Fabric-Funktion anzukündigen.
GetCurrentActionState(ActionType inAction)
bool
Eine statische Funktion, die den aktuellen Status einer angegebenen Aktion zurückgibt.
GetFabricState(const WeaveFabricState *& outFabricState)
Eine WARM API zum Abrufen des FabricState-Objekts, das während der Init-Phase für Warm bereitgestellt wurde.
GetSystemFeatureState(SystemFeatureType inSystemFeature)
bool
Eine statische Funktion, die den aktuellen Status einer Systemfunktion abruft.
GetULA(InterfaceType inInterfaceType, Inet::IPAddress & outAddress)
Eine WARM API zum Abrufen einer ULA für einen bestimmten Schnittstellentyp.
Init(WeaveFabricState & inFabricState)
Eine WARM API zur einmaligen Initialisierung von Modulen.
InvokeActions(void)
void
Eine WARM API, die von einer dedizierten Aufgabe aufgerufen wird, um verschiedene Plattform-API-Aktionen auszuführen.
LegacyHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Eine der Aktionsmethoden.
LegacyThreadAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Eine der Aktionsmethoden.
MakePrefix(const uint64_t & inGlobalID, const uint16_t subnetId, const uint8_t inPrefixLen, Inet::IPPrefix & outPrefix)
void
Ein Dienstprogramm zum Erstellen eines 48-Bit-Präfix aus einer GlobalID.
MapAvailabilityToPriority(Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
Eine statische Funktion, die eine Zuordnung von TunnelAvailability zu RoutePriority zurückgibt.
RecordPlatformResult(PlatformResult inResult, ActionType inAction, bool inActionState)
Eine statische Funktion, die das Ergebnis eines Plattform-API-Aktionsaufrufs aufzeichnet.
ReportActionComplete(PlatformResult inResult)
void
Eine WARM API, die aufgerufen wird, um den Abschluss eines vorherigen asynchronen Plattform-API-Aufrufs anzukündigen.
SetCurrentActionState(ActionType inAction, bool inValue)
void
Eine statische Funktion, die den aktuellen Status einer bestimmten Aktion festlegt.
SetSystemFeatureState(SystemFeatureType inSystemFeature, bool inValue)
bool
Eine statische Funktion, die den aktuellen Status der Systemfunktion festlegt.
ShouldPerformAction(ActionType inAction, FlagsType inNecessarySystemFeatureState, bool & outActivate)
bool
Eine statische Funktion, die bestimmt, ob die angegebene Aktion ausgeführt werden soll.
SystemFeatureStateChangeHandler(SystemFeatureType inSystemFeatureType, bool inState)
void
Eine statische Funktion, die den Status der Systemfunktion festlegt und die Plattform darüber informiert, dass sich der Ereignisstatus geändert hat.
TakeActions(void)
void
Eine statische Funktion, die den Status jeder Aktion testet und einen Plattform-API-Aufruf ausführt, um den Aktionsstatus bei Bedarf zu ändern.
ThreadAdvertisementAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Eine der Aktionsmethoden.
ThreadHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Eine der Aktionsmethoden.
ThreadHostRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Eine der Aktionsmethoden.
ThreadInterfaceStateChange(InterfaceState inState)
void
Eine WARM API, die aufgerufen wird, um eine Statusänderung für die Thread-Schnittstelle anzukündigen.
ThreadRoutePriorityAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Eine der Aktionsmethoden.
ThreadRoutingStateChange(InterfaceState inState)
void
Eine WARM API, die aufgerufen wird, um eine Statusänderung für die Thread-Routing-Funktion anzukündigen.
ThreadThreadAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Eine der Aktionsmethoden.
ThreadThreadRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Eine der Aktionsmethoden.
TunnelHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Eine der Aktionsmethoden.
TunnelHostRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Eine der Aktionsmethoden.
TunnelInterfaceStateChange(InterfaceState inState)
void
Eine aufgerufene WARM API, um eine Statusänderung für die Weave-Tunnel-Schnittstelle anzukündigen.
TunnelPriorityStateChange(nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
void
Eine WARM API, die aufgerufen wird, um die Priorität des Tunneldienstes zu aktualisieren.
TunnelServiceStateChange(InterfaceState inState, nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
void
Eine aufgerufene WARM API, um eine Statusänderung für die Weave-Tunnel-Schnittstelle anzukündigen.
WiFiHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Eine der Aktionsmethoden.
WiFiInterfaceStateChange(InterfaceState inState)
void
Eine aufgerufene WARM API, um eine Statusänderung für die WLAN-Schnittstelle anzukündigen.

Kurse

nl::Weave::Warm::WarmFabricStateDelegate

Dies ist eine interne Klasse von WarmCore.

Strukturen

nl::Weave::Warm::ActionEntry
nl::Weave::Warm::ModuleState

Namespaces

nl::Weave::Warm::Platform

Aufzählungen

ActionType

 ActionType
Attribute
kActionTypeHostRouteThread

Hinzufügen | Entfernen Sie die IP-Route für die Thread-Schnittstelle im IP-Stack des Hosts.

kActionTypeLegacy6LoWPANHostAddress

Hinzufügen | Entfernen Sie die IP-Adresse für die Legacy-Schnittstelle 6LowPAN im IP-Stack des Hosts.

kActionTypeLegacy6LoWPANThreadAddress

Hinzufügen | Entfernen Sie die IP-Adresse für die Legacy-Schnittstelle 6LowPAN im IP-Stack des Thread-Moduls.

kActionTypeMax

DO NOT EXCEED; ist reserviert, um die maximal verfügbare Anzahl von Bits zu kennzeichnen.

kActionTypeThreadAdvertisement

Start | Beendet die Route Advertisement neben dem Thread-Modul.

kActionTypeThreadHostAddress

Hinzufügen | Entfernen Sie die IP-Adresse für die Thread-Schnittstelle im IP-Stack des Hosts.

kActionTypeThreadRoute

IP-Route auf dem Thread-Modul zur Unterstützung von Border Routes hinzufügen | entfernen.

kActionTypeThreadRoutePriority

Ändern Sie die Routenpriorität der Threadroute im Thread-Modul.

kActionTypeThreadThreadAddress

Hinzufügen | Entfernen Sie die IP-Adresse für die Thread-Schnittstelle im IP-Stack des Thread-Moduls.

kActionTypeTunnelHostAddress

Hinzufügen | Entfernen Sie die IP-Adresse für die Tunnelschnittstelle im IP-Stack des Hosts.

kActionTypeTunnelHostRoute

Hinzufügen | Entfernen Sie die IP-Route für die Tunnelschnittstelle im IP-Stack des Hosts.

kActionTypeTunnelServiceRoute

Hinzufügen | Entfernen Sie die 64-Bit-IP-Route für das Dienstsubnetz im IP-Stack des Hosts.

kActionTypeWiFiHostAddress

Hinzufügen | Entfernen Sie die IP-Adresse für die WLAN-Schnittstelle im IP-Stack des Hosts.

InitState

 InitState
Attribute
kInitStateNotInitialized

Dieser muss 0 sein, damit der Anfangswert von mInitState kInitStateNotInitiald ist.

InterfaceState

 InterfaceState

Eine Aufzählung möglicher Werte für den Schnittstellenstatus.

InterfaceType

 InterfaceType

Eine Aufzählung möglicher Schnittstellentypen.

.

Attribute
kInterfaceTypeCellular

Die Mobilfunkschnittstelle.

kInterfaceTypeLegacy6LoWPAN

Oberfläche für Threadalarme

kInterfaceTypeThread

Thread-Schnittstelle.

kInterfaceTypeTunnel

Die Tunnelschnittstelle.

kInterfaceTypeWiFi

Die WLAN-Schnittstelle.

PlatformActionExecution

 PlatformActionExecution
Attribute
kPlatformActionExecutionContinue

Ausführung der Aktion fortsetzen.

kPlatformActionExecutionSuspendForAsynchOpCompletion

Ausführung der Aktion anhalten, damit der asynchrone Vorgang abgeschlossen wird

PlatformResult

 PlatformResult

Eine Aufzählung möglicher Plattform-API-Rückgabewerte.

Attribute
kPlatformResultFailure

Die API-Ausführung ist fehlgeschlagen.

kPlatformResultInProgress

Der Vorgang wird gerade ausgeführt und wird asynchron abgeschlossen.

kPlatformResultSuccess

Die API wurde erfolgreich abgeschlossen.

RoutePriority

 RoutePriority

Ein Enum möglicher Routenprioritäten, damit eine Route Vorrang vor einer anderen erhalten kann.

SystemFeatureType

 SystemFeatureType
Attribute
kSystemFeatureTypeBorderRoutingEnabled

Die Border-Routing-Funktion des Systems IST | IST NICHT aktiviert.

kSystemFeatureTypeCellularConnected

Die Mobilfunkschnittstelle des Systems IST | IST NICHT verbunden.

kSystemFeatureTypeIsFabricMember

Das Weave-Modul des Systems IST | IST KEIN Element eines Stoffes.

kSystemFeatureTypeMax

DO NOT EXCEED; ist reserviert, um die maximal verfügbare Anzahl von Bits zu kennzeichnen.

kSystemFeatureTypeThreadConnected

Die Thread-Schnittstelle des Systems IST | IST NICHT verbunden.

kSystemFeatureTypeThreadRoutingEnabled

Die Thread-Routing-Funktion des Systems IST | IST NICHT aktiviert.

kSystemFeatureTypeTunnelInterfaceEnabled

Tunnelschnittstelle des Systems IST | IST NICHT aktiviert.

kSystemFeatureTypeTunnelState

Tunneldienst des Systems IS | IST NICHT eingerichtet.

kSystemFeatureTypeWiFiConnected

Die WLAN-Schnittstelle des Systems IST | IST NICHT verbunden.

Typedefs

ActionFunction

PlatformResult(* ActionFunction)(ActionType inAction, bool inActivate, const uint64_t &inGlobalId, const uint64_t &inInterfaceId)

FlagsType

uint16_t FlagsType

Variablen

kGlobalULAPrefixLength

const uint8_t kGlobalULAPrefixLength = 48

kLegacy6LoWPANULAAddressPräfixLength

const uint8_t kLegacy6LoWPANULAAddressPrefixLength = 64

kThreadULAAddressPrefixLength

const uint8_t kThreadULAAddressPrefixLength = 64

kTunnelAddressPrefixLength

const uint8_t kTunnelAddressPrefixLength = 128

kWiFiULAAddressPrefixLength

const uint8_t kWiFiULAAddressPrefixLength = 64

sFabricStateDelegate

WarmFabricStateDelegate sFabricStateDelegate

sState

ModuleState sState

Funktionen

BorderRouterStateChange

void BorderRouterStateChange(
  InterfaceState inState
)

Eine aufgerufene WARM API, um eine Statusänderung für die Border-Router-Funktion anzukündigen.

Details
Parameter
[in] inState
kInterfaceStateUp, wenn die Border-Router-Funktion aktiv ist, andernfalls kInterfaceStateDown.

CellularInterfaceStateChange

void CellularInterfaceStateChange(
  InterfaceState inState
)

Eine aufgerufene WARM API, um eine Statusänderung für die Mobilfunkschnittstelle anzukündigen.

Details
Parameter
[in] inState
kInterfaceStateUp, wenn die Mobilfunkschnittstelle aktiv ist, andernfalls kInterfaceStateDown.

FabricStateChange

void FabricStateChange(
  InterfaceState inState
)

Eine Funktion, die aufgerufen wird, um eine Statusänderung für die Weave Fabric-Funktion anzukündigen.

Details
Parameter
[in] inState
kInterfaceStateUp, wenn das System Mitglied eines Weave-Fabric ist, andernfalls kInterfaceStateDown.

GetCurrentActionState

bool GetCurrentActionState(
  ActionType inAction
)

Eine statische Funktion, die den aktuellen Status einer angegebenen Aktion zurückgibt.

Details
Parameter
[in] inAction
Der abzufragende Aktionstyp.
Rückgabe
„true“, wenn die Aktion „Set“ ist, andernfalls „false“.

GetFabricState

WEAVE_ERROR GetFabricState(
  const WeaveFabricState *& outFabricState
)

Eine WARM API zum Abrufen des FabricState-Objekts, das während der Init-Phase für Warm bereitgestellt wurde.

Details
Parameter
[out] outFabricState
Ein Zeigerverweis auf ein FabricState-Objekt.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_INCORRECT_STATE
Wenn diese API aufgerufen wird, bevor WARM initialisiert wurde.

GetSystemFeatureState

bool GetSystemFeatureState(
  SystemFeatureType inSystemFeature
)

Eine statische Funktion, die den aktuellen Status einer Systemfunktion abruft.

Details
Parameter
[in] inSystemFeature
Die abzufragende Systemfunktion.
Rückgabe
„true“, wenn die Systemfunktion aktiviert ist, andernfalls „false“.

GetULA

WEAVE_ERROR GetULA(
  InterfaceType inInterfaceType,
  Inet::IPAddress & outAddress
)

Eine WARM API zum Abrufen einer ULA für einen bestimmten Schnittstellentyp.

Details
Parameter
[in] inInterfaceType
Der Schnittstellentyp, für den eine ULA gewünscht wird.
[out] outAddress
Ein Adressobjekt, das die resultierende ULA enthält.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_INCORRECT_STATE
Wenn diese API aufgerufen wird, während WARM kein Mitglied einer Fabric ist.
WEAVE_ERROR_INVALID_ARGUMENT
Wenn diese API mit einem ungültigen Schnittstellentyp aufgerufen wird.

Init

WEAVE_ERROR Init(
  WeaveFabricState & inFabricState
)

Eine WARM API zur einmaligen Initialisierung von Modulen.

Details
Parameter
[in] inFabricState
Ein Verweis auf einen gültigen WeaveFabricState.
Rückgabewerte
WEAVE_NO_ERROR
Bei erfolgreicher Initialisierung.
WEAVE_ERROR_INCORRECT_STATE
Wenn Init mehrmals aufgerufen wird.
other
Andernfalls Fehlercode.
Rückgabe
WEAVE_NO_ERROR bei Erfolg, andernfalls Fehlercode.

InvokeActions

void InvokeActions(
  void
)

Eine WARM API, die von einer dedizierten Aufgabe aufgerufen wird, um verschiedene Plattform-API-Aktionen auszuführen.

Dies ist der Einstiegspunkt, um die notwendigen Aktionen auszuführen, die den aktuellen Systemstatus erfüllen. Wenn der Thread-Stack beispielsweise von deaktiviert zu aktiviert wechselte, würde diese Funktion die erforderlichen Plattformaufrufe durchführen, um die Thread-Hostadresse zuzuweisen usw. Diese Funktion sollte von Plattformcode nur als Antwort auf einen Warm-Aufruf von RequestInvokeActions aufgerufen werden. Der Aufruf von InvokeActions führt zu einem oder mehreren Aufrufen der nl::Warm::Platform APIs. Entwickler sollten daher RequestInvokeActions und den Aufrufer von InvokeActions() entsprechend implementieren. Es kann angebracht sein, dass RequestInvokeActions ein Ereignis für die Aufgabe postet, das beispielsweise InvokeActions() aufrufen würde. Wenn das System jedoch ein Single-Thread ist, könnte RequestInvokeActions so implementiert werden, dass InvokeActions() direkt aufgerufen wird.

LegacyHostAddressAction

PlatformResult LegacyHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Eine der Aktionsmethoden.

Legt die Hostadresse für die Legacy-Schnittstelle fest.

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Gewünschter Status true == enable, false == deaktiviere.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, wenn diese zur Berechnung einer Adresse erforderlich ist.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn dies zum Berechnen einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::HostAddress() weiter.

LegacyThreadAddressAction

PlatformResult LegacyThreadAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Eine der Aktionsmethoden.

Legt die Thread-Adresse für die Legacy-6LoWPAN-Schnittstelle fest.

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Gewünschter Status true == enable, false == deaktiviere.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, wenn diese zur Berechnung einer Adresse erforderlich ist.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn dies zum Berechnen einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::ThreadAddress() weiter.

MakePrefix

void MakePrefix(
  const uint64_t & inGlobalID,
  const uint16_t subnetId,
  const uint8_t inPrefixLen,
  Inet::IPPrefix & outPrefix
)

Ein Dienstprogramm zum Erstellen eines 48-Bit-Präfix aus einer GlobalID.

Details
Parameter
[in] inGlobalID
Ein Verweis auf die globale Weave-ID.
[out] outPrefix
Das zu initialisierende Präfix.

MapAvailabilityToPriority

RoutePriority MapAvailabilityToPriority(
  Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability
)

Eine statische Funktion, die eine Zuordnung von TunnelAvailability zu RoutePriority zurückgibt.

Details
Parameter
[in] inAvailability
Verfügbarkeitsmodus für Weave-Tunnel.
Rückgabe
Der Wert mit der zugeordneten Priorität.

RecordPlatformResult

PlatformActionExecution RecordPlatformResult(
  PlatformResult inResult,
  ActionType inAction,
  bool inActionState
)

Eine statische Funktion, die das Ergebnis eines Plattform-API-Aktionsaufrufs aufzeichnet.

Dieses Modul stellt Anfragen zum Ausführen von Aktionen über plattformspezifische APIs. Die APIs sind erforderlich, um das kPlatformResultSuccess|kPlatformResultFailure|kPlatformResultInProgress-Ergebnis dieser Aktionsanfrage zu melden. Diese Funktion zeichnet dieses Ergebnis auf und gibt „true“ zurück, wenn das Ergebnis in Bearbeitung ist und weitere Aktionen verzögert werden sollten.

Details
Parameter
[in] inResult
Das API-Ergebnis der Plattform.
[in] inAction
Die Aktion, die von der Plattform-API ausgeführt wurde.
[in] inActionState
Der neue Status der Aktion, wenn das Ergebnis erfolgreich war.
Rückgabe
„true“, die Anfrage wird von der Plattform-API asynchron verarbeitet, andernfalls „false“.

ReportActionComplete

void ReportActionComplete(
  PlatformResult inResult
)

Eine WARM API, die aufgerufen wird, um den Abschluss eines vorherigen asynchronen Plattform-API-Aufrufs anzukündigen.

Es wird davon ausgegangen, dass Platform Action APIs asynchrone Vorgänge ausführen müssen. Wenn dies "true" ist, gibt die Plattform-API kPlatformResultInProgress zurück. In diesem Fall werden neue Adress- und Routingaktionen gesperrt, bis das System ReportActionComplete aufruft, um den Abschluss des Vorgangs zu melden.

Details
Parameter
[in] inResult
Das Ergebnis der ausstehenden Aktion muss eines der folgenden sein: {kPlatformResultSuccess | kPlatformResultFailure}

SetCurrentActionState

void SetCurrentActionState(
  ActionType inAction,
  bool inValue
)

Eine statische Funktion, die den aktuellen Status einer bestimmten Aktion festlegt.

Details
Parameter
[in] inAction
Der zu ändernde Aktionstyp.
[in] inValue
Der neue Wert „Bundesland“.

SetSystemFeatureState

bool SetSystemFeatureState(
  SystemFeatureType inSystemFeature,
  bool inValue
)

Eine statische Funktion, die den aktuellen Status der Systemfunktion festlegt.

Details
Parameter
[in] inSystemFeature
Die festzulegende SystemFeature
[in] inValue
Der neue Wert „Bundesland“.
Rückgabe
„true“, wenn die Systemfunktion geändert wurde, andernfalls „false“.

ShouldPerformAction

bool ShouldPerformAction(
  ActionType inAction,
  FlagsType inNecessarySystemFeatureState,
  bool & outActivate
)

Eine statische Funktion, die bestimmt, ob die angegebene Aktion ausgeführt werden soll.

Diese Funktion prüft den Zustand der Status-Flags der Systemfunktion und bestimmt, ob die angegebene Aktion aktiviert oder deaktiviert werden soll. Die Funktion prüft dann den aktuellen Status der Aktion. Wenn die Aktion nicht auf den Wert festgelegt ist, der für den Status der Systemfunktion erforderlich ist, gibt die Funktion „true“ zusammen mit dem gewünschten Aktionsstatus in outActivate zurück.

Details
Parameter
[in] inAction
Die abzufragende Aktion.
[in] inNecessarySystemFeatureState
Die Status-Flags, die für die Aktion erforderlich sind.
[out] outActivate
Der gewünschte Status der Aktion.
Rückgabe
„true“, wenn die Aktion derzeit nicht den gewünschten Status hat, andernfalls „false“.

SystemFeatureStateChangeHandler

void SystemFeatureStateChangeHandler(
  SystemFeatureType inSystemFeatureType,
  bool inState
)

Eine statische Funktion, die den Status der Systemfunktion festlegt und die Plattform darüber informiert, dass sich der Ereignisstatus geändert hat.

Wird von den EventStateChange APIs aufgerufen, um die erforderlichen Reaktionsvorgänge auszuführen.

Details
Parameter
[in] inSystemFeatureType
Der Status, der sich entsprechend der aufgerufenen API geändert hat.
[in] inState
Der neue Wert für den Status.

TakeActions

void TakeActions(
  void
)

Eine statische Funktion, die den Status jeder Aktion testet und einen Plattform-API-Aufruf ausführt, um den Aktionsstatus bei Bedarf zu ändern.

Diese Funktion nutzt ShouldPerformAction(), um festzustellen, ob ein Aktionsstatus geändert/ausgeführt werden muss. Wenn ShouldPerformAction() den Wert „true“ zurückgibt, ruft die Funktion die entsprechende Aktions-API auf, um die Aktion auszuführen und sie in den gewünschten Status zu versetzen. Das Ergebnis des Aktions-API-Aufrufs wird an RecordPlatformResult() übergeben. Wenn diese Funktion „true“ zurückgibt, wird die Ausführung dieser Funktion beendet.

ThreadAdvertisementAction

PlatformResult ThreadAdvertisementAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Eine der Aktionsmethoden.

Legt den Thread-Anzeigestatus fest

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Gewünschter Status true == enable, false == deaktiviere.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, wenn diese zur Berechnung einer Adresse erforderlich ist.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn dies zum Berechnen einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::ThreadAdvertisement() weiter.

ThreadHostAddressAction

PlatformResult ThreadHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Eine der Aktionsmethoden.

Legt die Hostadresse für die Thread-Schnittstelle fest.

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Gewünschter Status true == enable, false == deaktiviere.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, wenn diese zur Berechnung einer Adresse erforderlich ist.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn dies zum Berechnen einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::HostAddress() weiter.

ThreadHostRouteAction

PlatformResult ThreadHostRouteAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Eine der Aktionsmethoden.

Legt die Hostroute für die Thread-Schnittstelle fest.

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Gewünschter Status true == enable, false == deaktiviere.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, wenn diese zur Berechnung einer Adresse erforderlich ist.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn dies zum Berechnen einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::HostRoute() weiter.

ThreadInterfaceStateChange

void ThreadInterfaceStateChange(
  InterfaceState inState
)

Eine WARM API, die aufgerufen wird, um eine Statusänderung für die Thread-Schnittstelle anzukündigen.

Details
Parameter
[in] inState
kInterfaceStateUp, wenn die Thread-Schnittstelle aktiv ist, andernfalls kInterfaceStateDown.

ThreadRoutePriorityAction

PlatformResult ThreadRoutePriorityAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Eine der Aktionsmethoden.

Legt die Priorität der Threadroute basierend auf der Tunnelverfügbarkeit fest.

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Gewünschter Status true == enable, false == deaktiviere.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, wenn diese zur Berechnung einer Adresse erforderlich ist.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn dies zum Berechnen einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::ThreadRoutePriority() weiter.

ThreadRoutingStateChange

void ThreadRoutingStateChange(
  InterfaceState inState
)

Eine WARM API, die aufgerufen wird, um eine Statusänderung für die Thread-Routing-Funktion anzukündigen.

Details
Parameter
[in] inState
kInterfaceStateUp, wenn die Thread-Routingfunktion aktiv ist, andernfalls kInterfaceStateDown.

ThreadThreadAddressAction

PlatformResult ThreadThreadAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Eine der Aktionsmethoden.

Legt die Thread-Adresse für die Thread-Schnittstelle fest.

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Gewünschter Status true == enable, false == deaktiviere.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, wenn diese zur Berechnung einer Adresse erforderlich ist.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn dies zum Berechnen einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::ThreadAddress() weiter.

ThreadThreadRouteAction

PlatformResult ThreadThreadRouteAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Eine der Aktionsmethoden.

Legt die Thread-Route für den Thread-Stack fest.

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Gewünschter Status true == enable, false == deaktiviere.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, wenn diese zur Berechnung einer Adresse erforderlich ist.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn dies zum Berechnen einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::ThreadRoute() weiter.

TunnelHostAddressAction

PlatformResult TunnelHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Eine der Aktionsmethoden.

Legt die HostAddress für die Tunnelschnittstelle fest.

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Gewünschter Status true == enable, false == deaktiviere.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, wenn diese zur Berechnung einer Adresse erforderlich ist.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn dies zum Berechnen einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::HostAddress() weiter.

TunnelHostRouteAction

PlatformResult TunnelHostRouteAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Eine der Aktionsmethoden.

Legt die HostRoute für die Tunnelschnittstelle fest.

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Gewünschter Status true == enable, false == deaktiviere.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, wenn diese zur Berechnung einer Adresse erforderlich ist.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn dies zum Berechnen einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::HostRoute() weiter.

TunnelInterfaceStateChange

void TunnelInterfaceStateChange(
  InterfaceState inState
)

Eine aufgerufene WARM API, um eine Statusänderung für die Weave-Tunnel-Schnittstelle anzukündigen.

Details
Parameter
[in] inState
kInterfaceStateUp, wenn die Weave-Tunnel-Schnittstelle aktiv ist, andernfalls kInterfaceStateDown.

TunnelPriorityStateChange

void TunnelPriorityStateChange(
  nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability
)

Eine WARM API, die aufgerufen wird, um die Priorität des Tunneldienstes zu aktualisieren.

Details
Parameter
[in] inAvailability
Der neue Wert für den Tunnelverfügbarkeitsstatus.

TunnelServiceStateChange

void TunnelServiceStateChange(
  InterfaceState inState,
  nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability
)

Eine aufgerufene WARM API, um eine Statusänderung für die Weave-Tunnel-Schnittstelle anzukündigen.

Details
Parameter
[in] inState
kInterfaceStateUp, wenn der Weave-Tunnel-Dienst eingerichtet wird, andernfalls kInterfaceStateDown.
[in] inAvailability
Der Verfügbarkeitsstatus, der später bei der Tunnelkonfiguration verwendet werden soll.

WiFiHostAddressAction

PlatformResult WiFiHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Eine der Aktionsmethoden.

Legt die Hostadresse für die WLAN-Schnittstelle fest.

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Gewünschter Status true == enable, false == deaktiviere.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, wenn diese zur Berechnung einer Adresse erforderlich ist.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn dies zum Berechnen einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::HostAddress() weiter.

WiFiInterfaceStateChange

void WiFiInterfaceStateChange(
  InterfaceState inState
)

Eine aufgerufene WARM API, um eine Statusänderung für die WLAN-Schnittstelle anzukündigen.

Details
Parameter
[in] inState
kInterfaceStateUp, wenn die WLAN-Schnittstelle aktiv ist, andernfalls kInterfaceStateDown.