nl::Weave::Profiles::ServiceProvisioning

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

Summary

Enumerations

@253{
  kStatusCode_TooManyServices = 1,
  kStatusCode_ServiceAlreadyRegistered = 2,
  kStatusCode_InvalidServiceConfig = 3,
  kStatusCode_NoSuchService = 4,
  kStatusCode_PairingServerError = 5,
  kStatusCode_InvalidPairingToken = 6,
  kStatusCode_PairingTokenOld = 7,
  kStatusCode_ServiceCommuncationError = 8,
  kStatusCode_ServiceConfigTooLarge = 9,
  kStatusCode_WrongFabric = 10,
  kStatusCode_TooManyFabrics = 11
}
enum
Service Provisioning Status Codes.
@254 enum
Service Provisioning Message Types.
@255{
  kTag_ServiceConfig = 1,
  kTag_ServiceEndPoint = 2,
  kTag_ServiceConfig_CACerts = 1,
  kTag_ServiceConfig_DirectoryEndPoint = 2,
  kTag_ServiceEndPoint_Id = 1,
  kTag_ServiceEndPoint_Addresses = 2,
  kTag_ServiceEndPoint_NodeId = 3,
  kTag_ServiceEndPointAddress_HostName = 1,
  kTag_ServiceEndPointAddress_Port = 2
}
enum
Service Provisioning Data Element Tags.

Functions

EncodeServiceConfig(WeaveCertificateSet & certSet, const char *dirHostName, uint16_t dirPort, uint8_t *outBuf, uint16_t & outLen)
NL_DLL_EXPORT WEAVE_ERROR

Classes

nl::Weave::Profiles::ServiceProvisioning::PairDeviceToAccountMessage
nl::Weave::Profiles::ServiceProvisioning::RegisterServicePairAccountMessage
nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningDelegate
nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningServer

Simple server class for implementing the Service Provisioning profile.

nl::Weave::Profiles::ServiceProvisioning::UpdateServiceMessage

Enumerations

@253

 @253

Service Provisioning Status Codes.

Properties
kStatusCode_InvalidPairingToken

The device could not complete service pairing because it passed an invalid pairing token.

kStatusCode_InvalidServiceConfig

The specified service configuration is invalid.

kStatusCode_NoSuchService

The specified id does not match a service registered on the device.

kStatusCode_PairingServerError

The device could not complete service pairing because it failed to talk to the pairing server.

kStatusCode_PairingTokenOld

The device could not complete service pairing because the pairing token it passed has expired.

kStatusCode_ServiceAlreadyRegistered

The specified service is already registered on the device.

kStatusCode_ServiceCommuncationError

The device could not complete service pairing because it encountered an error when communicating with the service.

kStatusCode_ServiceConfigTooLarge

The specified service configuration is too large.

kStatusCode_TooManyFabrics

Too many fabrics in the structure.

kStatusCode_TooManyServices

There are too many services registered on the device.

kStatusCode_WrongFabric

Device paired with a different fabric.

@254

 @254

Service Provisioning Message Types.

@255

 @255

Service Provisioning Data Element Tags.

Properties
kTag_ServiceConfig

[ structure ] Describes a Weave Service.

kTag_ServiceConfig_CACerts

[ array, length >= 1 ] List of trusted CA certificates for service.

Each element is a WeaveCertificate, as defined in the Security Profile.

kTag_ServiceConfig_DirectoryEndPoint

[ structure ] Contains contact information for the service's primary directory end point.

Contents are as defined below for ServiceEndPoint structure.

kTag_ServiceEndPoint

[ structure ] Describes a Weave Service EndPoint.

kTag_ServiceEndPointAddress_HostName

[ utf-8 string ] Host name or literal IP address.

kTag_ServiceEndPointAddress_Port

[ uint, 1-63353 ] IP port number.

Optional

kTag_ServiceEndPoint_Addresses

[ array, length >= 1 ] List of addresses for the service end point.

Each element is a ServiceEndPointAddress structure, as defined below.

kTag_ServiceEndPoint_Id

[ uint, 8-64 bits ] Service end point id (an EUI-64) assigned to the service end point.

kTag_ServiceEndPoint_NodeId

[ uint, 8-64 bits ] Weave node id of the node providing the service.

Mutually exclusive with Addresses list.

Functions

EncodeServiceConfig

NL_DLL_EXPORT WEAVE_ERROR EncodeServiceConfig(
  WeaveCertificateSet & certSet,
  const char *dirHostName,
  uint16_t dirPort,
  uint8_t *outBuf,
  uint16_t & outLen
)