Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl::Weave::Warm

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

Fazit

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 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
Eine Aufzählung möglicher Routenprioritäten, sodass einer Route eine Priorität gegenüber einer anderen zugewiesen werden 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

Typdef.

ActionFunction)(ActionType inAction, bool inActivate, const uint64_t &inGlobalId, const uint64_t &inInterfaceId) Typdef
FlagsType Typdef
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, mit der die Statusänderung für die Funktion „Border-Router“ bekannt gegeben wird.
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 zur Statusänderung für die Weave-Stoff-Funktion aufgerufen wird.
GetCurrentActionState(ActionType inAction)
bool
Eine statische Funktion, die den aktuellen Status einer bestimmten Aktion zurückgibt.
GetFabricState(const WeaveFabricState *& outFabricState)
Eine WARM API zum Abrufen des FabricState-Objekts, das an Warm während der Einführung gesendet wurde.
GetSystemFeatureState(SystemFeatureType inSystemFeature)
bool
Eine statische Funktion, die den aktuellen Status eines Systemfeature abruft.
GetULA(InterfaceType inInterfaceType, Inet::IPAddress & outAddress)
Eine WARM API, um eine ULA für einen bestimmten Schnittstellentyp zu erwerben.
Init(WeaveFabricState & inFabricState)
Eine WARM API zur Ausführung einer einmaligen Modulinitialisierung.
InvokeActions(void)
void
Eine WARM API, die von einer bestimmten Aufgabe aufgerufen wird, um verschiedene API-Aktionen auf der Plattform 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 globalen ID.
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 Platform 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 Systemfunktionsstatus festlegt und die Plattform über den geänderten Ereignisstatus benachrichtigt
TakeActions(void)
void
Eine statische Funktion, mit der der Status jeder Aktion getestet und bei Bedarf ein API-Aufruf für die Plattform durchgeführt wird, um den Status der Aktion 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, mit der eine Statusänderung für die Thread-Schnittstelle angekündigt wird.
ThreadRoutePriorityAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Eine der Aktionsmethoden.
ThreadRoutingStateChange(InterfaceState inState)
void
Eine WARM API, mit der eine Statusänderung für die Thread-Routing-Funktion angekündigt wird.
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 einen Statusänderung für die Weave-Tunnel-Schnittstelle anzukündigen.
TunnelPriorityStateChange(nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
void
Eine WARM API zum Aktualisieren der Priorität des Tunnel-Dienstes.
TunnelServiceStateChange(InterfaceState inState, nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
void
Eine WARM API, die aufgerufen wird, um einen 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, die aufgerufen wird, um eine Statusänderung für die WLAN-Schnittstelle anzukündigen.

Klassen

nl::Weave::War::WarmFabricStateDelegate

Dies ist eine interne Klasse für WarmCore.

Strebenklemmen

nl::Weave::War::ActionEntry
nl::Weave::War::ModuleState

Namespaces

nl::Weave::War::Plattform

Aufzählungen

Aktionstyp

 ActionType
Attribute
kActionTypeHostRouteThread

Hinzufügen | IP-Route für die Thread-Schnittstelle des IP-Stacks des Hosts entfernen.

kActionTypeLegacy6LoWPANHostAddress

Hinzufügen | Entfernen Sie die IP-Adresse für die alte 6LowPAN-Schnittstelle des IP-Stacks des Hosts.

kActionTypeLegacy6LoWPANThreadAddress

Hinzufügen | Entfernen Sie die IP-Adresse für die alte 6LowPAN-Schnittstelle des IP-Stacks des Thread-Moduls.

kActionTypeMax

NICHT VORGEBEN; reserviert, um die maximale verfügbare Anzahl von Bits zu kennzeichnen.

kActionTypeThreadAdvertisement

Starten | Stoppen Sie die Routenanzeige im Thread-Modul.

kActionTypeThreadHostAddress

Hinzufügen | Entferne die IP-Adresse für die Thread-Schnittstelle des IP-Stacks des Hosts.

kActionTypeThreadRoute

Hinzufügen | Entfernen Sie die IP-Route aus dem Thread-Modul zur Unterstützung von Border Route.

kActionTypeThreadRoutePriority

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

kActionTypeThreadThreadAddress

Hinzufügen | Entferne die IP-Adresse für die Thread-Schnittstelle des IP-Stacks 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 auf dem 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 | Entferne die IP-Adresse der WLAN-Schnittstelle im IP-Stack des Hosts.

Staat

 InitState
Attribute
kInitStateNotInitialized

Der Wert muss 0 sein, damit der anfängliche Wert von mInitState&k3

Schnittstellenstatus

 InterfaceState

Eine Aufzählung möglicher Schnittstellenstatuswerte

Schnittstellentyp

 InterfaceType

Eine Aufzählung möglicher Schnittstellentypen.

Attribute
kInterfaceTypeCellular

Die Mobilfunkschnittstelle

kInterfaceTypeLegacy6LoWPAN

Thread-Benutzeroberfläche

kInterfaceTypeThread

Thread-Schnittstelle.

kInterfaceTypeTunnel

Die Tunnel-Schnittstelle.

kInterfaceTypeWiFi

Die WLAN-Schnittstelle.

Plattformaktionsausführung

 PlatformActionExecution
Attribute
kPlatformActionExecutionContinue

Aktion ausführen.

kPlatformActionExecutionSuspendForAsynchOpCompletion

Aktion ausführen, um den asynchronen Vorgang abzuschließen.

Plattformergebnis

 PlatformResult

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

Attribute
kPlatformResultFailure

Die API konnte nicht ausgeführt werden.

kPlatformResultInProgress

Der Vorgang wird ausgeführt und asynchron abgeschlossen.

kPlatformResultSuccess

Die API wurde abgeschlossen.

Routenpriorität

 RoutePriority

Eine Aufzählung möglicher Routenprioritäten, sodass einer Route eine Priorität gegenüber einer anderen zugewiesen werden kann.

Systemfunktionstyp

 SystemFeatureType
Attribute
kSystemFeatureTypeBorderRoutingEnabled

Die Funktion „Riserrouting-Funktion“ IST | wurde nicht aktiviert.

kSystemFeatureTypeCellularConnected

Die Systemschnittstelle IS | IST NICHT verbunden.

kSystemFeatureTypeIsFabricMember

Das Weave-Modul von „IS“ | „IST“ ist KEIN Mitglied eines Stoffs.

kSystemFeatureTypeMax

NICHT VORGEBEN; reserviert, um die maximale verfügbare Anzahl von Bits zu kennzeichnen.

kSystemFeatureTypeThreadConnected

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

kSystemFeatureTypeThreadRoutingEnabled

Die Thread-Routingfunktion IST | IST NICHT aktiviert.

kSystemFeatureTypeTunnelInterfaceEnabled

Die Tunnelschnittstelle IST | ist nicht aktiviert.

kSystemFeatureTypeTunnelState

Der Tunneldienst von System IST | NICHT eingerichtet.

kSystemFeatureTypeWiFiConnected

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

Typdef.

Aktionsfunktion

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

Flaggentyp

uint16_t FlagsType

Variablen

kGlobalULAPrefixLength

const uint8_t kGlobalULAPrefixLength = 48

kLegacy6LoWPANULAAddressPrefixLength

const uint8_t kLegacy6LoWPANULAAddressPrefixLength = 64

Länge von kThreadULAAddressPrefix

const uint8_t kThreadULAAddressPrefixLength = 64

kTunnelAddressPrefixLength

const uint8_t kTunnelAddressPrefixLength = 128

kWiFiULAAddressPrefixLength

const uint8_t kWiFiULAAddressPrefixLength = 64

sFabricStateDelegate

WarmFabricStateDelegate sFabricStateDelegate

Staat

ModuleState sState

Funktionen

BorderRouterStateChange

void BorderRouterStateChange(
  InterfaceState inState
)

Eine WARM API, mit der die Statusänderung für die Funktion „Border-Router“ bekannt gegeben wird.

Details
Parameter
[in] inState
kInterfaceStateUp, wenn die Funktion „Border Router“ aktiviert ist, sonst „kInterfaceStateDown“.

Mobilfunk-InterfaceStateChange

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, sonst kInterfaceStateDown.

Logo: FabricStateChange

void FabricStateChange(
  InterfaceState inState
)

Eine Funktion, die zur Statusänderung für die Weave-Stoff-Funktion aufgerufen wird.

Details
Parameter
[in] inState
kInterfaceStateUp, wenn das System Mitglied eines Weave-Stoffs ist. Andernfalls wird kInterfaceStateDown angegeben.

GetCurrentActionState

bool GetCurrentActionState(
  ActionType inAction
)

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

Details
Parameter
[in] inAction
Der abzufragende Aktionstyp.
Rückgabe
Wahr, wenn die Aktion festgelegt ist, andernfalls False.

FabricState

WEAVE_ERROR GetFabricState(
  const WeaveFabricState *& outFabricState
)

Eine WARM API zum Abrufen des FabricState-Objekts, das an Warm während der Einführung gesendet wurde.

Details
Parameter
[out] outFabricState
Ein Zeiger auf ein materialState-Objekt.
Rückgabewerte
WEAVE_NO_ERROR
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 Systemfeature abruft.

Details
Parameter
[in] inSystemFeature
Die Systemfunktion, die abgefragt werden soll
Rückgabe
True, wenn die Systemfunktion aktiviert ist, andernfalls False.

Logo: GetULA

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

Eine WARM API, um eine ULA für einen bestimmten Schnittstellentyp zu erwerben.

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

Init

WEAVE_ERROR Init(
  WeaveFabricState & inFabricState
)

Eine WARM API zur Ausführung einer einmaligen Modulinitialisierung.

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

Aufrufen

void InvokeActions(
  void
)

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

Dies ist der Einstiegspunkt zum Ausführen der erforderlichen Aktionen, die den aktuellen Systemstatus erfüllen. Wenn der Thread-Stack beispielsweise von „Deaktiviert“ in „Aktiviert“ geändert wurde, werden durch die Funktion die erforderlichen Plattformaufrufe ausgeführt, um die Thread-Hostadresse usw. zuzuweisen. Diese Funktion sollte nur als Antwort auf einen Warm-Aufruf für „CallCallActions“ aufgerufen werden. Der Aufruf von „Aufrufaktionen“ führt zu einem oder mehreren Aufrufen an die nl::Warm::Platform API. Entwickler sollten daher RequestCALLActions und den Aufrufer von AufrufActions() entsprechend implementieren. Es kann sinnvoll sein, dass „RequestAufrufActions“ ein Ereignis in die Aufgabe postet, die beispielsweise AufrufActions() aufrufen würde. Ist hingegen das System auf einen Thread ausgerichtet, kann RequestCallActions so implementiert werden, dass AufrufActions() 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
Der gewünschte Status „true“ = =, „false“ == deactivate.
[in] inGlobalId
Ein Verweis auf die Weave Global ID, falls diese zur Berechnung einer Adresse benötigt wird.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn es zur Berechnung 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.

Die Thread-Adresse für die alte 6LoWPAN-Schnittstelle festlegen.

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Der gewünschte Status „true“ = =, „false“ == deactivate.
[in] inGlobalId
Ein Verweis auf die Weave Global ID, falls diese zur Berechnung einer Adresse benötigt wird.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn es zur Berechnung einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::ThreadAddress() weiter.

MakePräfix

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 globalen ID.

Details
Parameter
[in] inGlobalID
Ein Verweis auf die globale Weave-ID.
[out] outPrefix
Das Präfix, das initialisiert werden soll.

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 mit der Priorität verknüpfte Wert.

Logo: RecordPlatformResult

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

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

In diesem Modul werden Anfragen zur Durchführung plattformspezifischer APIs ausgeführt. Die API's ist erforderlich, um das kPlatformResultSuccess|kPlatformResultFailure|kPlatformResultInprogress-Ergebnis dieser Aktionsanfrage anzuzeigen. Diese Funktion zeichnet das 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 Platform API-Ergebnis.
[in] inAction
Die Aktion, die von der Platform API versucht wurde.
[in] inActionState
Der neue Status der Aktion, wenn das Ergebnis erfolgreich war.
Rückgabe
wahr, die Plattform-API die Anfrage asynchron verarbeitet, falsch, sonst

ReportActionAbgeschlossen

void ReportActionComplete(
  PlatformResult inResult
)

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

Es wird angenommen, dass die API für Aktionen der Plattform möglicherweise asynchrone Vorgänge ausführen muss. Wenn dies „true“ ist, gibt die Platform API den Wert „kPlatformResultInFortschritt“ zurück. In diesem Fall werden neue Adressen und Routingaktionen gesperrt, bis das System ReportActionComplete aufruft, um den Abschluss des Vorgangs abzuschließen.

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 zu übernehmende Bundesstaatwert

SetSystemFeatureState

bool SetSystemFeatureState(
  SystemFeatureType inSystemFeature,
  bool inValue
)

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

Details
Parameter
[in] inSystemFeature
Die festzulegende Systemfunktion
[in] inValue
Der neue zu übernehmende Bundesstaatwert
Rückgabe
True, wenn die Systemfunktion geändert wurde, sonst False.

Aktion soll ausgeführt werden

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 die Bedingung der Systemfunktions-Flags und bestimmt, ob die angegebene Aktion aktiviert oder deaktiviert wird. Die Funktion prüft dann den aktuellen Status der Aktion. Wenn die Aktion nicht auf den für das Systemfeature erforderlichen Wert festgelegt ist, gibt sie den Wert „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 Aktivierung der Aktion erforderlich sind.
[out] outActivate
Der gewünschte Status der Aktion.
Rückgabe
Wahr, wenn die Aktion derzeit nicht im gewünschten Zustand ist. Ist dies nicht der Fall, falsch.

SystemFeatureStateChangeHandler

void SystemFeatureStateChangeHandler(
  SystemFeatureType inSystemFeatureType,
  bool inState
)

Eine statische Funktion, die den Systemfunktionsstatus festlegt und die Plattform über den geänderten Ereignisstatus benachrichtigt

Wird von der EventStateChange API zur Ausführung der erforderlichen Reaktionen aufgerufen.

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

Maßnahmen ergreifen

void TakeActions(
  void
)

Eine statische Funktion, mit der der Status jeder Aktion getestet und bei Bedarf ein API-Aufruf für die Plattform durchgeführt wird, um den Status der Aktion zu ändern.

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

ThreadAdvertisingAction

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

Eine der Aktionsmethoden.

Festlegen des Thread-Anzeigenstatus

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Der gewünschte Status „true“ = =, „false“ == deactivate.
[in] inGlobalId
Ein Verweis auf die Weave Global ID, falls diese zur Berechnung einer Adresse benötigt wird.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn es zur Berechnung einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::ThreadAdvertisingment() weiter.

ThreadHostAdresseAktion

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 „true“ = =, „false“ == deactivate.
[in] inGlobalId
Ein Verweis auf die Weave Global ID, falls diese zur Berechnung einer Adresse benötigt wird.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn es zur Berechnung 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 „true“ = =, „false“ == deactivate.
[in] inGlobalId
Ein Verweis auf die Weave Global ID, falls diese zur Berechnung einer Adresse benötigt wird.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn es zur Berechnung einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::HostRoute() weiter.

ThreadInterfaceStateChange

void ThreadInterfaceStateChange(
  InterfaceState inState
)

Eine WARM API, mit der eine Statusänderung für die Thread-Schnittstelle angekündigt wird.

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

ThreadRoutePriorityAction.

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

Eine der Aktionsmethoden.

Legt die Priorität der Thread-Route anhand der Tunnelverfügbarkeit fest.

Details
Parameter
[in] inAction
Der Aktionstyp.
[in] inActivate
Der gewünschte Status „true“ = =, „false“ == deactivate.
[in] inGlobalId
Ein Verweis auf die Weave Global ID, falls diese zur Berechnung einer Adresse benötigt wird.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn es zur Berechnung einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::ThreadRoutePriority() weiter.

ThreadRoutingStateChange

void ThreadRoutingStateChange(
  InterfaceState inState
)

Eine WARM API, mit der eine Statusänderung für die Thread-Routing-Funktion angekündigt wird.

Details
Parameter
[in] inState
kInterfaceStateUp, wenn die Thread-Routingfunktion aktiviert 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 „true“ = =, „false“ == deactivate.
[in] inGlobalId
Ein Verweis auf die Weave Global ID, falls diese zur Berechnung einer Adresse benötigt wird.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn es zur Berechnung 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
Der gewünschte Status „true“ = =, „false“ == deactivate.
[in] inGlobalId
Ein Verweis auf die Weave Global ID, falls diese zur Berechnung einer Adresse benötigt wird.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn es zur Berechnung einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::ThreadRoute() weiter.

TunnelHostAddressAction (Tunnelhost-Aktion)

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 „true“ = =, „false“ == deactivate.
[in] inGlobalId
Ein Verweis auf die Weave Global ID, falls diese zur Berechnung einer Adresse benötigt wird.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn es zur Berechnung 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 „true“ = =, „false“ == deactivate.
[in] inGlobalId
Ein Verweis auf die Weave Global ID, falls diese zur Berechnung einer Adresse benötigt wird.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn es zur Berechnung 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 einen Statusänderung für die Weave-Tunnel-Schnittstelle anzukündigen.

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

TunnelPriorityStateChange

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

Eine WARM API zum Aktualisieren der Priorität des Tunnel-Dienstes.

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 einen Statusänderung für die Weave-Tunnel-Schnittstelle anzukündigen.

Details
Parameter
[in] inState
kInterfaceStateUp, wenn der Weave-Tunneldienst eingerichtet ist, andernfalls kInterfaceStateDown
[in] inAvailability
Der Verfügbarkeitsstatus, der später beim Konfigurieren des Tunnels verwendet wird.

WLANHostAdresseAktion

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 „true“ = =, „false“ == deactivate.
[in] inGlobalId
Ein Verweis auf die Weave Global ID, falls diese zur Berechnung einer Adresse benötigt wird.
[in] inInterfaceId
Ein Verweis auf die Schnittstellen-ID des Geräts, wenn es zur Berechnung einer Adresse erforderlich ist.
Rückgabe
Leitet das Ergebnis von Platform::HostAddress() weiter.

WLAN-InterfaceStateChange

void WiFiInterfaceStateChange(
  InterfaceState inState
)

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

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