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 Schnittstellenstatuswerte.
InterfaceType{
  kInterfaceTypeLegacy6LoWPAN = 0,
  kInterfaceTypeThread,
  kInterfaceTypeWiFi,
  kInterfaceTypeTunnel,
  kInterfaceTypeCellular
}
enum
Eine Aufzählung der möglichen Schnittstellentypen.
PlatformActionExecution{
  kPlatformActionExecutionContinue = false,
  kPlatformActionExecutionSuspendForAsynchOpCompletion = true
}
enum
PlatformResult{
  kPlatformResultSuccess = 0,
  kPlatformResultFailure,
  kPlatformResultInProgress
}
enum
Eine Aufzählung der möglichen Rückgabewerte der Plattform-API.
RoutePriority enum
Eine Aufzählung 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 WARM API, die aufgerufen wird, um eine Statusänderung für die Border-Router-Funktion anzukündigen.
CellularInterfaceStateChange(InterfaceState inState)
void
Eine WARM API, die aufgerufen wird, 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 das Weave Fabric-Feature 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 Initialisierung für Warm bereitgestellt wurde.
GetSystemFeatureState(SystemFeatureType inSystemFeature)
bool
Eine statische Funktion, die den aktuellen Status eines Systems 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 Durchführung einer einmaligen Modulinitialisierung.
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äfixes 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 angegebenen 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 Systemfunktionsstatus festlegt und die Plattform benachrichtigt, dass sich der Ereignisstatus geändert hat.
TakeActions(void)
void
Eine statische Funktion, die den Status jeder Aktion testet und einen Plattform-API-Aufruf durchfü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 WARM API, die aufgerufen wird, 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 WARM API, die aufgerufen wird, 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 WARM API wird aufgerufen, um eine Statusänderung für die WLAN-Schnittstelle anzukündigen.

Klassen

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 6LowPAN-Schnittstelle im IP-Stack des Hosts.

kActionTypeLegacy6LoWPANThreadAddress

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

kActionTypeMax

NICHT ÜBERSCHREITEN; reserviert, um die maximal verfügbaren Bits zu markieren.

kActionTypeThreadAdvertisement

Start | Stoppen Sie das Route Advertising durch das Thread-Modul.

kActionTypeThreadHostAddress

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

kActionTypeThreadRoute

Hinzufügen | Entfernen Sie die IP-Route am Thread-Modul, um Border Route-Unterstützung zu ermöglichen.

kActionTypeThreadRoutePriority

Ändern Sie die Routingprioritä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 Wert muss 0 sein, damit der Ausgangswert von mInitState „kInitStateNotInitialized“ lautet.

InterfaceState

 InterfaceState

Eine Aufzählung möglicher Schnittstellenstatuswerte.

InterfaceType

 InterfaceType

Eine Aufzählung der möglichen Schnittstellentypen.

Attribute
kInterfaceTypeCellular

Die Mobilfunkschnittstelle.

kInterfaceTypeLegacy6LoWPAN

Thread-Alarm-Schnittstelle

kInterfaceTypeThread

Thread-Schnittstelle.

kInterfaceTypeTunnel

Die Tunnelschnittstelle.

kInterfaceTypeWiFi

Die WLAN-Benutzeroberfläche.

PlatformActionExecution

 PlatformActionExecution
Attribute
kPlatformActionExecutionContinue

die Ausführung der Aktion fortsetzen.

kPlatformActionExecutionSuspendForAsynchOpCompletion

Ausführung der Unterbrechungsaktion, damit der asynchrone Vorgang abgeschlossen werden kann.

PlatformResult

 PlatformResult

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

Attribute
kPlatformResultFailure

Die API-Ausführung ist fehlgeschlagen.

kPlatformResultInProgress

Der Vorgang läuft und wird asynchron abgeschlossen.

kPlatformResultSuccess

Die API wurde ausgeführt.

RoutePriority

 RoutePriority

Eine Aufzählung möglicher Routenprioritäten, damit eine Route Vorrang vor einer anderen erhalten kann.

SystemFeatureType

 SystemFeatureType
Attribute
kSystemFeatureTypeBorderRoutingEnabled

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

kSystemFeatureTypeCellularConnected

Der Mobilfunkschnittstelle des Systems | IST NICHT verbunden.

kSystemFeatureTypeIsFabricMember

IS zum Weave-Modul des Systems | IST KEIN Mitglied eines Fabric.

kSystemFeatureTypeMax

NICHT ÜBERSCHREITEN; reserviert, um die maximal verfügbaren Bits zu markieren.

kSystemFeatureTypeThreadConnected

Das Thread-Interface IS des Systems | IST NICHT verbunden.

kSystemFeatureTypeThreadRoutingEnabled

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

kSystemFeatureTypeTunnelInterfaceEnabled

Tunnelschnittstellen-IS des Systems | IST NICHT aktiviert.

kSystemFeatureTypeTunnelState

IS des Tunneldiensts des Systems | WIRD NICHT gegründet.

kSystemFeatureTypeWiFiConnected

Der IS für die WLAN-Schnittstelle des Systems | 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

kLegacy6LoWPANULAAddressPrefixLength

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 WARM API, die aufgerufen wird, 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 WARM API, die aufgerufen wird, 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 das Weave Fabric-Feature anzukündigen.

Details
Parameter
[in] inState
kInterfaceStateUp, wenn das System Mitglied eines Weave-Stoffs 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 festgelegt ist, andernfalls "false".

GetFabricState

WEAVE_ERROR GetFabricState(
  const WeaveFabricState *& outFabricState
)

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

Details
Parameter
[out] outFabricState
Ein Zeigerverweis auf ein materialState-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 eines Systems 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 Durchführung einer einmaligen Modulinitialisierung.

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
Ansonsten 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 zum Ausführen der erforderlichen Aktionen, die für den aktuellen Systemstatus erforderlich sind. Wenn der Thread-Stack beispielsweise von deaktiviert zu aktiviert gewechselt ist, würde diese Funktion die erforderlichen Plattformaufrufe durchführen, um die Adresse des Thread-Hosts zuzuweisen usw. Diese Funktion sollte nur mit dem Plattformcode als Antwort auf einen Warm-Aufruf an RequestInvokeActions aufgerufen werden. Das Aufrufen von InvokeActions führt zu einem oder mehreren Aufrufen von nl::Warm::Platform-APIs. Entwickler sollten daher RequestInvokeActions und den Aufrufer von InvokeActions() entsprechend implementieren. Es kann angebracht sein, dass RequestInvokeActions ein Ereignis an die Aufgabe sendet, das z. B. InvokeActions() aufrufen würde. Wenn das System hingegen ein Single-Thread-System ist, könnte RequestInvokeActions implementiert werden, um InvokeActions() direkt aufzurufen.

LegacyHostAddressAction

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

Eine der Aktionsmethoden.

Legt die Hostadresse für die alte Schnittstelle fest.

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Der gewünschte Status == aktivieren, false == deaktivieren.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, falls dies zum Berechnen 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 alte 6LoWPAN-Schnittstelle fest.

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Der gewünschte Status == aktivieren, false == deaktivieren.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, falls dies zum Berechnen 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äfixes 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
Der Weave-Tunnel-Verfügbarkeitsmodus.
Rückgabe
Der der Priorität zugeordnete Wert.

RecordPlatformResult

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

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

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

Details
Parameter
[in] inResult
Das Plattform-API-Ergebnis.
[in] inAction
Die Aktion, die die Plattform-API versucht hat.
[in] inActionState
Der neue Status der Aktion, wenn das Ergebnis erfolgreich war.
Rückgabe
"true", wenn das Plattform-API die Anfrage 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 Plattform-Aktions-APIs möglicherweise asynchrone Vorgänge ausführen müssen. Wenn dies auf "true" gesetzt ist, gibt die Plattform-API kPlatformResultInProgress zurück. In diesem Fall werden neue Adress- und Weiterleitungsaktionen ausgesetzt, bis das System ReportActionComplete aufruft, um den Abschluss des Vorgangs anzukündigen.

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

SetCurrentActionState

void SetCurrentActionState(
  ActionType inAction,
  bool inValue
)

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

Details
Parameter
[in] inAction
Der Aktionstyp, der geändert werden soll.
[in] inValue
Der neue zu übernehmende Statuswert.

SetSystemFeatureState

bool SetSystemFeatureState(
  SystemFeatureType inSystemFeature,
  bool inValue
)

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

Details
Parameter
[in] inSystemFeature
Das festzulegende SystemFeature.
[in] inValue
Der neue zu übernehmende Statuswert.
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 Systemfunktionsstatus-Flags 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 Statusmeldungen, die erforderlich sind, damit die Aktion aktiv ist.
[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 Systemfunktionsstatus festlegt und die Plattform benachrichtigt, 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 durchführt, um den Aktionsstatus bei Bedarf zu ändern.

Diese Funktion ermittelt mithilfe von ShouldPerformAction(), 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 durchzuführen und in den gewünschten Status zu bringen. Das Ergebnis des action-API-Aufrufs wird an RecordPlatformResult() übergeben. Wenn diese Funktion den Wert "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-Werbestatus fest

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Der gewünschte Status == aktivieren, false == deaktivieren.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, falls dies zum Berechnen 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::ThreadWerbung() 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
Der gewünschte Status == aktivieren, false == deaktivieren.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, falls dies zum Berechnen 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
Der gewünschte Status == aktivieren, false == deaktivieren.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, falls dies zum Berechnen 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 Threadroute-Priorität basierend auf der Tunnelverfügbarkeit fest.

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Der gewünschte Status == aktivieren, false == deaktivieren.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, falls dies zum Berechnen 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
Der gewünschte Status == aktivieren, false == deaktivieren.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, falls dies zum Berechnen 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 Threadroute für den Thread-Stack fest.

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Der gewünschte Status == aktivieren, false == deaktivieren.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, falls dies zum Berechnen 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
Der gewünschte Status == aktivieren, false == deaktivieren.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, falls dies zum Berechnen 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
Der gewünschte Status == aktivieren, false == deaktivieren.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, falls dies zum Berechnen 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 WARM API, die aufgerufen wird, 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 WARM API, die aufgerufen wird, 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 beim Konfigurieren des Tunnels 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
Der gewünschte Status == aktivieren, false == deaktivieren.
[in] inGlobalId
Ein Verweis auf die globale Weave-ID, falls dies zum Berechnen 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 WARM API wird aufgerufen, um eine Statusänderung für die WLAN-Schnittstelle anzukündigen.

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