nl::Weave::Profiles::NetworkProvisioning

This namespace includes all interfaces within Weave for the Weave Network Provisioning profile, the first of the three Weave provisioning profiles.

Summary

The interfaces define status codes, message types, data element tags, other constants, a server object, and a delegate object.

The Nest Weave Network Provisioning Profile is focused on providing the data to get the network interfaces, such as 802.15.4/Thread and 802.11/Wi-Fi, for a Weave device provisioned such that the device may participate in those networks.

Enumerations

@173{
  kStatusCode_UnknownNetwork = 1,
  kStatusCode_TooManyNetworks = 2,
  kStatusCode_InvalidNetworkConfiguration = 3,
  kStatusCode_UnsupportedNetworkType = 4,
  kStatusCode_UnsupportedWiFiMode = 5,
  kStatusCode_UnsupportedWiFiRole = 6,
  kStatusCode_UnsupportedWiFiSecurityType = 7,
  kStatusCode_InvalidState = 8,
  kStatusCode_TestNetworkFailed = 9,
  kStatusCode_NetworkConnectFailed = 10
}
enum
Network Provisioning Status Codes.
@174 enum
Network Provisioning Message Types.
@175{
  kTag_Networks = 1,
  kTag_EnabledNetworks = 2,
  kTag_RendezvousMode = 3,
  kTag_NetworkInformation = 32,
  kTag_NetworkId = 33,
  kTag_NetworkType = 34,
  kTag_WirelessSignalStrength = 35,
  kTag_WiFiSSID = 64,
  kTag_WiFiMode = 65,
  kTag_WiFiRole = 66,
  kTag_WiFiSecurityType = 67,
  kTag_WiFiPreSharedKey = 68,
  kTag_ThreadExtendedPANId = 80,
  kTag_ThreadNetworkName = 81,
  kTag_ThreadNetworkKey = 82,
  kTag_ThreadMeshPrefix = 83,
  kTag_ThreadChannel = 84,
  kTag_ThreadPANId = 85
}
enum
@176 enum
Thread PAN Id.
@177 enum
Thread Channel.
GetNetworkFlags enum
Get Network Flags.
NetworkType enum
Network Types.
RendezvousModeFlags enum
Rendezvous Mode Flags.
WiFiMode enum
WiFi Operating Modes.
WiFiRole enum
Device WiFi Role.
WiFiSecurityType enum
WiFi Security Modes.

Functions

ReplaceValue(char *& dest, const char *src)
ReplaceValue(uint8_t *& dest, uint32_t & destLen, const uint8_t *src, uint32_t srcLen)

Classes

nl::Weave::Profiles::NetworkProvisioning::NetworkInfo

A utility class for serializing and deserializing payloads communicated via NetworkProvisioning profile: it encapsulates information pertinent to the detecting and configuring networks.

nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningDelegate

Delegate class for implementing Network Provisioning operations.

nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningServer

Server class for implementing the Network Provisioning profile.

Enumerations

@173

 @173

Network Provisioning Status Codes.

Properties
kStatusCode_InvalidNetworkConfiguration

The specified network configuration is invalid.

kStatusCode_InvalidState

The network provisioning operation could not be performed in the current state.

kStatusCode_NetworkConnectFailed

An attempt to connect to the specified network failed.

kStatusCode_TestNetworkFailed

The connectivity test of the specified network failed.

kStatusCode_TooManyNetworks

The maximum number of provisioned networks has been reached.

kStatusCode_UnknownNetwork

A provisioned network with the specified network ID was not found.

kStatusCode_UnsupportedNetworkType

The specified network type is unknown or unsupported.

kStatusCode_UnsupportedWiFiMode

The specified WiFi mode is unsupported.

kStatusCode_UnsupportedWiFiRole

The specified WiFi role is unsupported.

kStatusCode_UnsupportedWiFiSecurityType

The specified WiFi security type is unsupported.

@174

 @174

Network Provisioning Message Types.

@175

 @175

Network Provisioning Data Element Tags.

Properties
kTag_EnabledNetworks

[ array ] An array of NetworkIds identifying the networks currently enabled on the device.

kTag_NetworkId

[ uint, 32-bit max ] An integer uniquely identifying a provisioned network.

kTag_NetworkInformation

[ struct ] A structure containing information for a network.

kTag_NetworkType

[ uint, 8-bit max ] An unsigned integer value identifying the type of a network.

kTag_Networks

[ array ] An array of NetworkConfiguration structures.

kTag_RendezvousMode

[ uint ] A bit field indicating the currently active rendezvous mode.

kTag_ThreadChannel

[ uint, 8-bit max ] Thread channel number (optional).

kTag_ThreadExtendedPANId

[ byte string ] The Thread extended PAN ID.

kTag_ThreadMeshPrefix

[ bytes string, exactly 8 bytes ] Thread mesh IPv6 /64 prefix (optional).

kTag_ThreadNetworkKey

[ bytes string ] The Thread master network key.

kTag_ThreadNetworkName

[ UTF-8 string ] A UTF-8 string containing the name of the Thread network.

kTag_ThreadPANId

[ uint, 16-bit max ] Thread PAN ID (optional).

kTag_WiFiMode

[ uint, 8-bit max ] An integer identify the mode of operation of the WiFi network.

kTag_WiFiPreSharedKey

[ byte string ] A byte string containing the WiFi password/pre-shared key.

kTag_WiFiRole

[ uint, 8-bit max ] An integer identify the role the device plays in the WiFi network.

kTag_WiFiSSID

[ UTF-8 string ] A string containing a WiFi SSID.

kTag_WiFiSecurityType

[ uint, 8-bit max ] An integer value identifying the type of security used by a WiFi network.

kTag_WirelessSignalStrength

[ int, 16-bit max ] An signed integer value giving the signal strength of a wireless network in dBm.

@176

 @176

Thread PAN Id.

@177

 @177

Thread Channel.

GetNetworkFlags

 GetNetworkFlags

Get Network Flags.

NetworkType

 NetworkType

Network Types.

RendezvousModeFlags

 RendezvousModeFlags

Rendezvous Mode Flags.

WiFiMode

 WiFiMode

WiFi Operating Modes.

WiFiRole

 WiFiRole

Device WiFi Role.

WiFiSecurityType

 WiFiSecurityType

WiFi Security Modes.

Functions

ReplaceValue

WEAVE_ERROR ReplaceValue(
  char *& dest,
  const char *src
)

ReplaceValue

WEAVE_ERROR ReplaceValue(
  uint8_t *& dest,
  uint32_t & destLen,
  const uint8_t *src,
  uint32_t srcLen
)