nl::Weave::Warm

This namespace includes interfaces for the Weave Address and Routing Module, a portable Module for configuring Weave IP addresses and Routes.

Summary

Enumerations

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),
  kActionTypeMax = (1 << 16)
}
enum
InitState{
  kInitStateNotInitialized = 0
}
enum
InterfaceState enum
An enum of possible Interface State values.
InterfaceType{
  kInterfaceTypeLegacy6LoWPAN = 0,
  kInterfaceTypeThread,
  kInterfaceTypeWiFi,
  kInterfaceTypeTunnel,
  kInterfaceTypeCellular
}
enum
An enum of possible interface types.
PlatformActionExecution{
  kPlatformActionExecutionContinue = false,
  kPlatformActionExecutionSuspendForAsynchOpCompletion = true
}
enum
PlatformResult{
  kPlatformResultSuccess = 0,
  kPlatformResultFailure,
  kPlatformResultInProgress
}
enum
An enum of possible platform API return values.
RoutePriority enum
An enum of possible route priorities so that one route can be given priority over another.
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

Variables

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

Functions

BorderRouterStateChange(InterfaceState inState)
void
A WARM API called to announce a State change for the Border router feature.
CellularInterfaceStateChange(InterfaceState inState)
void
A WARM API called to announce a State change for the Cellular interface.
FabricStateChange(InterfaceState inState)
void
A function called to announce a State change for the Weave Fabric feature.
GetCurrentActionState(ActionType inAction)
bool
A static function that returns the current State of a specified action.
GetFabricState(const WeaveFabricState *& outFabricState)
A WARM API to acquire the FabricState object that was provided to Warm during Init.
GetSystemFeatureState(SystemFeatureType inSystemFeature)
bool
A static function that gets the current State of a System feature.
GetULA(InterfaceType inInterfaceType, Inet::IPAddress & outAddress)
A WARM API to acquire a ULA for a specified interface type.
Init(WeaveFabricState & inFabricState)
A WARM API to perform one time module initialization.
InvokeActions(void)
void
A WARM API called by a dedicated task to perform various platform API actions.
LegacyHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
One of the Action methods.
LegacyThreadAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
One of the Action methods.
MakePrefix(const uint64_t & inGlobalID, Inet::IPPrefix & outPrefix)
void
A utility to construct a 48 bit prefix from a globalID.
MapAvailabilityToPriority(Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
A static function that returns a mapping from TunnelAvailability to RoutePriority.
RecordPlatformResult(PlatformResult inResult, ActionType inAction, bool inActionState)
A static function that records the result of a platform API Action call.
ReportActionComplete(PlatformResult inResult)
void
A WARM API called to announce the completion of a previous asynchronous platform API call.
SetCurrentActionState(ActionType inAction, bool inValue)
void
A static function that sets the current State of a specified action.
SetSystemFeatureState(SystemFeatureType inSystemFeature, bool inValue)
bool
A static function that sets the current State of the System Feature.
ShouldPerformAction(ActionType inAction, FlagsType inNecessarySystemFeatureState, bool & outActivate)
bool
A static function that determines whether the specified action should be performed.
SystemFeatureStateChangeHandler(SystemFeatureType inSystemFeatureType, bool inState)
void
A static function that Sets the System Feature state and notifies the platform that event state has changed.
TakeActions(void)
void
A static function that tests the State of each action and makes a platform API call to change the action State if necessary.
ThreadAdvertisementAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
One of the Action methods.
ThreadHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
One of the Action methods.
ThreadHostRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
One of the Action methods.
ThreadInterfaceStateChange(InterfaceState inState)
void
A WARM API called to announce a State change for the Thread interface.
ThreadRoutePriorityAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
One of the Action methods.
ThreadRoutingStateChange(InterfaceState inState)
void
A WARM API called to announce a State change for the Thread Routing feature.
ThreadThreadAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
One of the Action methods.
ThreadThreadRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
One of the Action methods.
TunnelHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
One of the Action methods.
TunnelHostRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
One of the Action methods.
TunnelInterfaceStateChange(InterfaceState inState)
void
A WARM API called to announce a State change for the Weave Tunnel interface.
TunnelPriorityStateChange(nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
void
A WARM API called to update the priority of the Tunnel Service.
TunnelServiceStateChange(InterfaceState inState, nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
void
A WARM API called to announce a State change for the Weave Tunnel interface.
WiFiHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
One of the Action methods.
WiFiInterfaceStateChange(InterfaceState inState)
void
A WARM API called to announce a State change for the WiFi interface.

Classes

nl::Weave::Warm::WarmFabricStateDelegate

This is an internal class to WarmCore.

Structs

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

Namespaces

nl::Weave::Warm::Platform

Enumerations

ActionType

 ActionType
Properties
kActionTypeHostRouteThread

Add | Remove the IP route for the Thread Interface on the host's IP stack.

kActionTypeLegacy6LoWPANHostAddress

Add | Remove the IP address for the Legacy 6LowPAN Interface on the host's IP stack.

kActionTypeLegacy6LoWPANThreadAddress

Add | Remove the IP address for the Legacy 6LowPAN Interface on the Thread Module's IP stack.

kActionTypeMax

DO NOT EXCEED; reserved to mark the max available bits.

kActionTypeThreadAdvertisement

Start | Stop the route advertisement by the Thread Module.

kActionTypeThreadHostAddress

Add | Remove the IP address for the Thread Interface on the host's IP stack.

kActionTypeThreadRoute

Add | Remove the IP route on the Thread Module for Border Route support.

kActionTypeThreadRoutePriority

Change the Route Priority of the Thread Route on the Thread Module.

kActionTypeThreadThreadAddress

Add | Remove the IP address for the Thread Interface on the Thread Module's IP stack.

kActionTypeTunnelHostAddress

Add | Remove the IP address for the Tunnel Interface on the host's IP stack.

kActionTypeTunnelHostRoute

Add | Remove the IP route for the Tunnel Interface on the host's IP stack.

kActionTypeWiFiHostAddress

Add | Remove the IP address for the WiFi Interface on the host's IP stack.

InitState

 InitState
Properties
kInitStateNotInitialized

This must be 0 so that mInitState's initial value will be kInitStateNotInitialized.

InterfaceState

 InterfaceState

An enum of possible Interface State values.

InterfaceType

 InterfaceType

An enum of possible interface types.

Properties
kInterfaceTypeCellular

The Cellular interface.

kInterfaceTypeLegacy6LoWPAN

Thread alarm interface.

kInterfaceTypeThread

Thread interface.

kInterfaceTypeTunnel

The Tunnel interface.

kInterfaceTypeWiFi

The WiFi interface.

PlatformActionExecution

 PlatformActionExecution
Properties
kPlatformActionExecutionContinue

continue action execution.

kPlatformActionExecutionSuspendForAsynchOpCompletion

suspend action execution for asynchronous operation to complete.

PlatformResult

 PlatformResult

An enum of possible platform API return values.

Properties
kPlatformResultFailure

The API execution failed.

kPlatformResultInProgress

The operation is in-progress and will complete asynchronously.

kPlatformResultSuccess

The API completed successfully.

RoutePriority

 RoutePriority

An enum of possible route priorities so that one route can be given priority over another.

SystemFeatureType

 SystemFeatureType
Properties
kSystemFeatureTypeBorderRoutingEnabled

The System's Border Routing Feature IS | IS NOT enabled.

kSystemFeatureTypeCellularConnected

The System's Cellular Interface IS | IS NOT connected.

kSystemFeatureTypeIsFabricMember

The System's Weave module IS | IS NOT a member of a fabric.

kSystemFeatureTypeMax

DO NOT EXCEED; reserved to mark the max available bits.

kSystemFeatureTypeThreadConnected

The System's Thread Interface IS | IS NOT connected.

kSystemFeatureTypeThreadRoutingEnabled

The System's Thread Routing Feature IS | IS NOT enabled.

kSystemFeatureTypeTunnelInterfaceEnabled

The System's Tunnel Interface IS | IS NOT enabled.

kSystemFeatureTypeTunnelState

The System's Tunnel Service IS | IS NOT established.

kSystemFeatureTypeWiFiConnected

The System's WiFi Interface IS | IS NOT connected.

Typedefs

ActionFunction

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

FlagsType

uint16_t FlagsType

Variables

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

Functions

BorderRouterStateChange

void BorderRouterStateChange(
  InterfaceState inState
)

A WARM API called to announce a State change for the Border router feature.

Details
Parameters
[in] inState
kInterfaceStateUp if the Border router feature is up, kInterfaceStateDown otherwise.

CellularInterfaceStateChange

void CellularInterfaceStateChange(
  InterfaceState inState
)

A WARM API called to announce a State change for the Cellular interface.

Details
Parameters
[in] inState
kInterfaceStateUp if the Cellular interface is up, kInterfaceStateDown otherwise.

FabricStateChange

void FabricStateChange(
  InterfaceState inState
)

A function called to announce a State change for the Weave Fabric feature.

Details
Parameters
[in] inState
kInterfaceStateUp if the system is a member of a Weave fabric, kInterfaceStateDown otherwise.

GetCurrentActionState

bool GetCurrentActionState(
  ActionType inAction
)

A static function that returns the current State of a specified action.

Details
Parameters
[in] inAction
The action type to query.
Returns
true if the action is Set, false otherwise.

GetFabricState

WEAVE_ERROR GetFabricState(
  const WeaveFabricState *& outFabricState
)

A WARM API to acquire the FabricState object that was provided to Warm during Init.

Details
Parameters
[out] outFabricState
A pointer reference to a fabricState object.
Return Values
WEAVE_NO_ERROR
On success.
WEAVE_ERROR_INCORRECT_STATE
If this API is called before WARM has been initialized.

GetSystemFeatureState

bool GetSystemFeatureState(
  SystemFeatureType inSystemFeature
)

A static function that gets the current State of a System feature.

Details
Parameters
[in] inSystemFeature
The System Feature to query.
Returns
true if the System Feature is enabled, false otherwise.

GetULA

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

A WARM API to acquire a ULA for a specified interface type.

Details
Parameters
[in] inInterfaceType
The type of interface for which a ULA is desired.
[out] outAddress
An address object used to hold the resulting ULA.
Return Values
WEAVE_NO_ERROR
On success.
WEAVE_ERROR_INCORRECT_STATE
If this API is called while WARM is not a member of a Fabric.
WEAVE_ERROR_INVALID_ARGUMENT
If this API is called with an invalid Interface Type.

Init

WEAVE_ERROR Init(
  WeaveFabricState & inFabricState
)

A WARM API to perform one time module initialization.

Details
Parameters
[in] inFabricState
A reference to a valid WeaveFabricState.
Return Values
WEAVE_NO_ERROR
On successful initialization.
WEAVE_ERROR_INCORRECT_STATE
When Init is called more than once.
other
Error code otherwise.
Returns
WEAVE_NO_ERROR on success, error code otherwise.

InvokeActions

void InvokeActions(
  void
)

A WARM API called by a dedicated task to perform various platform API actions.

This represents the entry point to perform the actions necessary which will satisfy the current System State. If for example the Thread stack transitioned from disabled to enabled, then this function would make the necessary platform calls to assign the thread host address etc. This function should be called by platform code only in response to a Warm call to RequestInvokeActions. Calling InvokeActions will result in one or more calls to nl::Warm::Platform API's. Developers should therefore implement RequestInvokeActions and the caller of InvokeActions() appropriately. It might be appropriate for RequestInvokeActions to post an event to the task which would call InvokeActions() for example. Conversely, if the system is single threaded, then RequestInvokeActions could be implemented to call InvokeActions() directly.

LegacyHostAddressAction

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

One of the Action methods.

Sets the Host Address for the Legacy Interface.

Details
Parameters
[in] inAction
The action type.
[in] inActivate
The desired State true == activate, false == deactivate.
[in] inGlobalId
A reference to the Weave Global ID if it's necessary to calculate an address.
[in] inInterfaceId
A reference to the device's interface ID if it's necessary to calculate an address.
Returns
Forwards the result from Platform::HostAddress().

LegacyThreadAddressAction

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

One of the Action methods.

Sets the Thread Address for the Legacy 6LoWPAN Interface.

Details
Parameters
[in] inAction
The action type.
[in] inActivate
The desired State true == activate, false == deactivate.
[in] inGlobalId
A reference to the Weave Global ID if it's necessary to calculate an address.
[in] inInterfaceId
A reference to the device's interface ID if it's necessary to calculate an address.
Returns
Forwards the result from Platform::ThreadAddress().

MakePrefix

void MakePrefix(
  const uint64_t & inGlobalID,
  Inet::IPPrefix & outPrefix
)

A utility to construct a 48 bit prefix from a globalID.

Details
Parameters
[in] inGlobalID
A reference to the Weave Global ID.
[out] outPrefix
The Prefix to initialize.

MapAvailabilityToPriority

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

A static function that returns a mapping from TunnelAvailability to RoutePriority.

Details
Parameters
[in] inAvailability
The Weave tunnel availability mode.
Returns
The priority mapped value.

RecordPlatformResult

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

A static function that records the result of a platform API Action call.

This module makes requests to perform actions via platform specific API's. The API's are required to report the kPlatformResultSuccess|kPlatformResultFailure|kPlatformResultInProgress result of that action request. This function records that result and returns true if the result is in-progress and further actions should be delayed.

Details
Parameters
[in] inResult
The platform API result.
[in] inAction
The action that the platform API attempted.
[in] inActionState
The new State of the action if the result was success.
Returns
true the platform API is asynchronously processing the request, false otherwise.

ReportActionComplete

void ReportActionComplete(
  PlatformResult inResult
)

A WARM API called to announce the completion of a previous asynchronous platform API call.

It is assumed that platform action API's may need to perform asynchronous operations. If this is true then the platform API will return kPlatformResultInProgress. When this happens new Address and Routing Actions will be suspended until the system calls ReportActionComplete to announce the completion of the operation.

Details
Parameters
[in] inResult
The result of the pending action. must be one of: {kPlatformResultSuccess | kPlatformResultFailure}

SetCurrentActionState

void SetCurrentActionState(
  ActionType inAction,
  bool inValue
)

A static function that sets the current State of a specified action.

Details
Parameters
[in] inAction
The action type to change.
[in] inValue
The new State value to adopt.

SetSystemFeatureState

bool SetSystemFeatureState(
  SystemFeatureType inSystemFeature,
  bool inValue
)

A static function that sets the current State of the System Feature.

Details
Parameters
[in] inSystemFeature
The SystemFeature to set.
[in] inValue
The new State value to adopt.
Returns
true if the System Feature was changed, false otherwise.

ShouldPerformAction

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

A static function that determines whether the specified action should be performed.

This function examines the condition of the System Feature State flags and determines whether the specified action should be enabled or disabled. The function then examines the current state of the action and if the action is not set to the value required by the System Feature's State, then the function returns true along with the desired action state in outActivate

Details
Parameters
[in] inAction
The action to be queried.
[in] inNecessarySystemFeatureState
The State flags necessary for the action to be active.
[out] outActivate
The desired state of the action.
Returns
true if the action is not currently in the desired state, false otherwise.

SystemFeatureStateChangeHandler

void SystemFeatureStateChangeHandler(
  SystemFeatureType inSystemFeatureType,
  bool inState
)

A static function that Sets the System Feature state and notifies the platform that event state has changed.

Called by the EventStateChange API's to perform the necessary reaction operations.

Details
Parameters
[in] inSystemFeatureType
The State that changed corresponding to the API called.
[in] inState
The new value for the state.

TakeActions

void TakeActions(
  void
)

A static function that tests the State of each action and makes a platform API call to change the action State if necessary.

This function uses ShouldPerformAction() to determine if an action state needs to be changed/taken. If ShouldPerformAction() returns true the function will call the appropriate action API to perform the action in order to put it in the desired State. The result of the action API call is passed into RecordPlatformResult() and if that function returns true, the execution of this function is terminated.

ThreadAdvertisementAction

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

One of the Action methods.

Sets the Thread Advertisement State

Details
Parameters
[in] inAction
The action type.
[in] inActivate
The desired State true == activate, false == deactivate.
[in] inGlobalId
A reference to the Weave Global ID if it's necessary to calculate an address.
[in] inInterfaceId
A reference to the device's interface ID if it's necessary to calculate an address.
Returns
Forwards the result from Platform::ThreadAdvertisement().

ThreadHostAddressAction

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

One of the Action methods.

Sets the Host Address for the Thread Interface.

Details
Parameters
[in] inAction
The action type.
[in] inActivate
The desired State true == activate, false == deactivate.
[in] inGlobalId
A reference to the Weave Global ID if it's necessary to calculate an address.
[in] inInterfaceId
A reference to the device's interface ID if it's necessary to calculate an address.
Returns
Forwards the result from Platform::HostAddress().

ThreadHostRouteAction

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

One of the Action methods.

Sets the Host Route for the Thread Interface.

Details
Parameters
[in] inAction
The action type.
[in] inActivate
The desired State true == activate, false == deactivate.
[in] inGlobalId
A reference to the Weave Global ID if it's necessary to calculate an address.
[in] inInterfaceId
A reference to the device's interface ID if it's necessary to calculate an address.
Returns
Forwards the result from Platform::HostRoute().

ThreadInterfaceStateChange

void ThreadInterfaceStateChange(
  InterfaceState inState
)

A WARM API called to announce a State change for the Thread interface.

Details
Parameters
[in] inState
kInterfaceStateUp if the Thread interface is up, kInterfaceStateDown otherwise.

ThreadRoutePriorityAction

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

One of the Action methods.

Sets the Thread Route Priority based on the Tunnel Availability.

Details
Parameters
[in] inAction
The action type.
[in] inActivate
The desired State true == activate, false == deactivate.
[in] inGlobalId
A reference to the Weave Global ID if it's necessary to calculate an address.
[in] inInterfaceId
A reference to the device's interface ID if it's necessary to calculate an address.
Returns
Forwards the result from Platform::ThreadRoutePriority().

ThreadRoutingStateChange

void ThreadRoutingStateChange(
  InterfaceState inState
)

A WARM API called to announce a State change for the Thread Routing feature.

Details
Parameters
[in] inState
kInterfaceStateUp if the Thread routing feature is up, kInterfaceStateDown otherwise.

ThreadThreadAddressAction

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

One of the Action methods.

Sets the Thread Address for the Thread Interface.

Details
Parameters
[in] inAction
The action type.
[in] inActivate
The desired State true == activate, false == deactivate.
[in] inGlobalId
A reference to the Weave Global ID if it's necessary to calculate an address.
[in] inInterfaceId
A reference to the device's interface ID if it's necessary to calculate an address.
Returns
Forwards the result from Platform::ThreadAddress().

ThreadThreadRouteAction

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

One of the Action methods.

Sets the Thread Route for the Thread Stack.

Details
Parameters
[in] inAction
The action type.
[in] inActivate
The desired State true == activate, false == deactivate.
[in] inGlobalId
A reference to the Weave Global ID if it's necessary to calculate an address.
[in] inInterfaceId
A reference to the device's interface ID if it's necessary to calculate an address.
Returns
Forwards the result from Platform::ThreadRoute().

TunnelHostAddressAction

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

One of the Action methods.

Sets the HostAddress for the Tunnel Interface.

Details
Parameters
[in] inAction
The action type.
[in] inActivate
The desired State true == activate, false == deactivate.
[in] inGlobalId
A reference to the Weave Global ID if it's necessary to calculate an address.
[in] inInterfaceId
A reference to the device's interface ID if it's necessary to calculate an address.
Returns
Forwards the result from Platform::HostAddress().

TunnelHostRouteAction

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

One of the Action methods.

Sets the HostRoute for the Tunnel Interface.

Details
Parameters
[in] inAction
The action type.
[in] inActivate
The desired State true == activate, false == deactivate.
[in] inGlobalId
A reference to the Weave Global ID if it's necessary to calculate an address.
[in] inInterfaceId
A reference to the device's interface ID if it's necessary to calculate an address.
Returns
Forwards the result from Platform::HostRoute().

TunnelInterfaceStateChange

void TunnelInterfaceStateChange(
  InterfaceState inState
)

A WARM API called to announce a State change for the Weave Tunnel interface.

Details
Parameters
[in] inState
kInterfaceStateUp if the Weave Tunnel interface is up, kInterfaceStateDown otherwise.

TunnelPriorityStateChange

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

A WARM API called to update the priority of the Tunnel Service.

Details
Parameters
[in] inAvailability
The new value for the tunnel availability status.

TunnelServiceStateChange

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

A WARM API called to announce a State change for the Weave Tunnel interface.

Details
Parameters
[in] inState
kInterfaceStateUp if the Weave Tunnel Service is established, kInterfaceStateDown otherwise.
[in] inAvailability
The availability status to be used later in configuring the tunnel.

WiFiHostAddressAction

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

One of the Action methods.

Sets the Host Address for the WiFi Interface.

Details
Parameters
[in] inAction
The action type.
[in] inActivate
The desired State true == activate, false == deactivate.
[in] inGlobalId
A reference to the Weave Global ID if it's necessary to calculate an address.
[in] inInterfaceId
A reference to the device's interface ID if it's necessary to calculate an address.
Returns
Forwards the result from Platform::HostAddress().

WiFiInterfaceStateChange

void WiFiInterfaceStateChange(
  InterfaceState inState
)

A WARM API called to announce a State change for the WiFi interface.

Details
Parameters
[in] inState
kInterfaceStateUp if the WiFi interface is up, kInterfaceStateDown otherwise.