OpenWeave C++ Reference

Reference pages for OpenWeave.

nl

Structs

nl::ArrayLengthAndBuffer A helper for wrapping an array with a length.
nl::ErrorFormatter
nl::FieldDescriptor Structure that describes a TLV field in a schema structure and connects it to data in a c-struct.
nl::MemoryManagement A c-struct of memory allocate/free functions.
nl::SchemaFieldDescriptor Wrapper around an array of FieldDescriptors to describe a schema structure/structure.
nl::SerializationContext A c-struct containing any context or state we need for serializing or deserializing.
nl::SerializedByteString
nl::SerializedFieldTypeBoolean_array
nl::SerializedFieldTypeByteString_array
nl::SerializedFieldTypeFloatingPoint32_array
nl::SerializedFieldTypeFloatingPoint64_array
nl::SerializedFieldTypeInt16_array
nl::SerializedFieldTypeInt32_array
nl::SerializedFieldTypeInt64_array
nl::SerializedFieldTypeInt8_array
nl::SerializedFieldTypeUInt16_array
nl::SerializedFieldTypeUInt32_array
nl::SerializedFieldTypeUInt64_array
nl::SerializedFieldTypeUInt8_array
nl::SerializedFieldTypeUTF8String_array
nl::StructureSchemaPointerPair Pair of data with a c-struct of data and the StructureSchemaDescriptor to write a TLV structure based on that data.

nl::ArgParser

Classes

nl::ArgParser::HelpOptions Common OptionSet for handling informational options (help, version).
nl::ArgParser::OptionSetBase An OptionSet where the handler is a virtual function.

Structs

nl::ArgParser::OptionDef Defines a command line option.
nl::ArgParser::OptionSet Defines a group of logically-related and reusable command line options.

nl::Ble

Classes

nl::Ble::BleApplicationDelegate
nl::Ble::BLEEndPoint
nl::Ble::BleLayer This class provides an interface for a single thread to drive data either up the stack via the BleLayer platform interface functions, or down the stack via a WeaveConnection object associated with a BLEEndPoint.
nl::Ble::BleLayerObject
nl::Ble::BlePlatformDelegate
nl::Ble::BleTransportCapabilitiesRequestMessage
nl::Ble::BleTransportCapabilitiesResponseMessage
nl::Ble::BleTransportCommandMessage
nl::Ble::BTCommandHeader
nl::Ble::BTCommandTypeAck
nl::Ble::BTCommandTypeTestData
nl::Ble::BTCommandTypeTestRequest
nl::Ble::BTCommandTypeTestResult
nl::Ble::BTCommandTypeTxTiming
nl::Ble::BTCommandTypeWindowSize
nl::Ble::BTCommandTypeWobleMTU
nl::Ble::WoBle
nl::Ble::WoBleTest
nl::Ble::WoBleTxHistogram
nl::Ble::WoBleTxRecord

Structs

nl::Ble::WeaveBLEDeviceIdentificationInfo Weave BLE Device Identification Information Block.
nl::Ble::WeaveBleUUID

nl::Ble::Platform::BlueZ

Structs

nl::Ble::Platform::BlueZ::Adapter
nl::Ble::Platform::BlueZ::BluezPeripheralArgs
nl::Ble::Platform::BlueZ::BluezServerEndpoint
nl::Ble::Platform::BlueZ::Characteristic
nl::Ble::Platform::BlueZ::Service
nl::Ble::Platform::BlueZ::WeaveIdInfo
nl::Ble::Platform::BlueZ::WeaveServiceData

nl::Inet

Classes

nl::Inet::AsyncDNSResolverSockets This is an internal class to InetLayer that provides helper APIs for Asynchronous Domain Name System (DNS) resolution in InetLayer.
nl::Inet::DNSResolver This is an internal class to InetLayer that provides the abstraction of Domain Name System (DNS) resolution in InetLayer.
nl::Inet::EndPointBasis Basis of internet transport endpoint classes.
nl::Inet::InetLayer This provides access to Internet services, including timers, Domain Name System (DNS) resolution, TCP network transport, UDP network transport, and raw network transport, for a single thread.
nl::Inet::InetLayerBasis This is the basis class of reference-counted objects managed by an InetLayer object.
nl::Inet::InterfaceAddressIterator Iterator for the list of system network interface IP addresses.
nl::Inet::InterfaceIterator Iterator for the list of system network interfaces.
nl::Inet::IPAddress Internet protocol address.
nl::Inet::IPEndPointBasis Objects of this class represent non-instantiable IP protocol endpoints.
nl::Inet::IPPacketInfo Information about an incoming/outgoing message/connection.
nl::Inet::IPPrefix Internet protocol address prefix.
nl::Inet::RawEndPoint Objects of this class represent raw IP network endpoints.
nl::Inet::SocketEvents Represent a set of I/O events requested/pending on a socket.
nl::Inet::TCPEndPoint Objects of this class represent TCP transport endpoints.
nl::Inet::TunEndPoint Objects of this class represent tunnel interfaces.
nl::Inet::UDPEndPoint Objects of this class represent UDP transport endpoints.

Unions

nl::Inet::PeerSockAddr

nl::Weave

Classes

nl::Weave::Binding Captures the intended target of a Weave communication and associated configuration information.
nl::Weave::Counter An interface for managing a counter as an integer value.
nl::Weave::ExchangeContext This class represents an ongoing conversation (ExchangeContext) between two or more nodes.
nl::Weave::FabricStateDelegate This abstract delegate class communicates fabric state changes.
nl::Weave::HostPortList For managing and manipulating a Host Port List, a compact, binary-encoded collection of host and port identifier tuples associated with the Weave Service Directory.
nl::Weave::JNIUtils
nl::Weave::MonotonicallyIncreasingCounter A class for managing a monotonically-increasing counter as an integer value.
nl::Weave::PersistedCounter A class for managing a counter as an integer value intended to persist across reboots.
nl::Weave::WeaveConnection The definition of the Weave Connection class.
nl::Weave::WeaveConnectionTunnel The definition of the WeaveConnectionTunnel class, which manages a pair of TCPEndPoints whose original WeaveConnections have been coupled, and between which the WeaveMessageLayer forwards all data and connection closures.
nl::Weave::WeaveEncryptionKey_AES128CTRSHA1
nl::Weave::WeaveExchangeHeader This specifies the Weave profile and message type of a particular Weave message within an ExchangeContext.
nl::Weave::WeaveExchangeManager This class is used to manage ExchangeContexts with other Weave nodes.
nl::Weave::WeaveFabricState Forward declaration of WeaveFabricState.
nl::Weave::WeaveKeyId The definition of the Weave Key identifier.
nl::Weave::WeaveMessageLayer The definition of the WeaveMessageLayer class, which manages communication with other Weave nodes.
nl::Weave::WeaveMsgEncryptionKey Contains information about Weave message encryption key.
nl::Weave::WeaveMsgEncryptionKeyCache Key cache for Weave message encryption keys.
nl::Weave::WeaveSecurityManager
nl::Weave::WeaveServerBase Common, base object for implementing Weave profile unsolicited responders (servers) that encapsulates validating authenticated requests and sending status reports and provides common data member storage for fabric state and an exchange manager.
nl::Weave::WeaveServerDelegateBase A common base class for implementing Weave server delegate objects.
nl::Weave::WeaveSessionKey Contains information about a Weave session key.
nl::Weave::WeaveSessionState Conveys the communication state needed to send/receive messages with another node.

Structs

nl::Weave::JNILibraryMethod
nl::Weave::WeaveMessageInfo Information about a Weave message that is in the process of being sent or received.
nl::Weave::WRMPConfig The WRMP configuration.

Unions

nl::Weave::WeaveEncryptionKey

nl::Weave::ASN1

Classes

nl::Weave::ASN1::ASN1Reader
nl::Weave::ASN1::ASN1UniversalTime
nl::Weave::ASN1::ASN1Writer

nl::Weave::Crypto

Classes

nl::Weave::Crypto::CTR_DRBG
nl::Weave::Crypto::CTRMode
nl::Weave::Crypto::EncodedECDSASignature
nl::Weave::Crypto::EncodedECPrivateKey
nl::Weave::Crypto::EncodedECPublicKey
nl::Weave::Crypto::EncodedHMACSignature
nl::Weave::Crypto::EncodedRSAKey
nl::Weave::Crypto::EncodedRSASignature
nl::Weave::Crypto::HKDF
nl::Weave::Crypto::HKDFSHA1Or256
nl::Weave::Crypto::HMAC

nl::Weave::DeviceLayer

Classes

nl::Weave::DeviceLayer::ConfigurationManager Provides access to runtime and build-time configuration information for a Weave device.
nl::Weave::DeviceLayer::ConfigurationManagerImpl Concrete implementation of the ConfigurationManager singleton object for the EFR32 platform.
nl::Weave::DeviceLayer::ConnectivityManager Provides control of network connectivity for a Weave device.
nl::Weave::DeviceLayer::ConnectivityManagerImpl Concrete implementation of the ConnectivityManager singleton object for Silicon Labs EFR32 platforms.
nl::Weave::DeviceLayer::PlatformManager Provides features for initializing and interacting with the Weave network stack on a Weave-enabled device.
nl::Weave::DeviceLayer::PlatformManagerImpl Concrete implementation of the PlatformManager singleton object for the EFR32 platform.
nl::Weave::DeviceLayer::SoftwareUpdateManager
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl Concrete implementation of the SoftwareUpdateManager singleton object for the Silicon Labs EFR32 platforms.
nl::Weave::DeviceLayer::ThreadStackManager Provides features for initializing and interacting with the Thread stack on a Weave-enabled device.
nl::Weave::DeviceLayer::ThreadStackManagerImpl Concrete implementation of the ThreadStackManager singleton object for EFR32 platforms using the Silicon Labs SDK and the OpenThread stack.
nl::Weave::DeviceLayer::TimeSyncManager Manages time synchronization for Weave Devices.
nl::Weave::DeviceLayer::TraitManager Manages publication and subscription of Weave Data Management traits for a Weave device.

Structs

nl::Weave::DeviceLayer::WeaveDeviceEvent Represents a Weave Device Layer event.
nl::Weave::DeviceLayer::WeaveDevicePlatformEvent Represents platform-specific event information for Silicon Labs EFR32 platforms.

nl::Weave::DeviceLayer::Internal

Classes

nl::Weave::DeviceLayer::Internal::BLEManager Provides control over WoBLE services and connectivity for a Weave device.
nl::Weave::DeviceLayer::Internal::BLEManagerImpl Concrete implementation of the NetworkProvisioningServer singleton object for the EFR32 platforms.
nl::Weave::DeviceLayer::Internal::DeviceControlServer Implements the Weave Device Control profile for a Weave device.
nl::Weave::DeviceLayer::Internal::DeviceDescriptionServer Implements the Weave Device Description profile for a Weave device.
nl::Weave::DeviceLayer::Internal::DeviceIdentityTraitDataSource Implements a data source for the Weave DeviceIdentityTrait.
nl::Weave::DeviceLayer::Internal::DeviceNetworkInfo
nl::Weave::DeviceLayer::Internal::EchoServer Implements the Weave Echo Profile for a Weave Device.
nl::Weave::DeviceLayer::Internal::EFR32Config
nl::Weave::DeviceLayer::Internal::ESP32Config Provides functions and definitions for accessing device configuration information on the ESP32.
nl::Weave::DeviceLayer::Internal::ESP32Utils
nl::Weave::DeviceLayer::Internal::FabricProvisioningServer Implements the Weave Fabric Provisioning profile for a Weave device.
nl::Weave::DeviceLayer::Internal::FactoryProvisioning Default implementation of the device factory provisioning feature.
nl::Weave::DeviceLayer::Internal::FactoryProvisioningBase Supports device factory provisioning at boot time.
nl::Weave::DeviceLayer::Internal::GenericConfigurationManagerImpl Provides a generic implementation of ConfigurationManager features that works on multiple platforms.
nl::Weave::DeviceLayer::Internal::GenericConnectivityManagerImpl Provides a generic implementation of ConnectivityManager features that works on multiple platforms.
nl::Weave::DeviceLayer::Internal::GenericConnectivityManagerImpl_BLE Provides a generic implementation of BLE-specific ConnectivityManager features for platforms where BLE functionality is implemented by the BLEManager class.
nl::Weave::DeviceLayer::Internal::GenericConnectivityManagerImpl_NoBLE Provides a generic implementation of BLE-specific ConnectivityManager features for platforms that don't support BLE.
nl::Weave::DeviceLayer::Internal::GenericConnectivityManagerImpl_NoThread Provides a generic implementation of WiFi-specific ConnectivityManager features for use on platforms that do NOT support Thread.
nl::Weave::DeviceLayer::Internal::GenericConnectivityManagerImpl_NoTunnel Provides a generic implementation of service tunnel-specific ConnectivityManager features for platforms that don't support a service tunnel.
nl::Weave::DeviceLayer::Internal::GenericConnectivityManagerImpl_NoWiFi Provides a generic implementation of WiFi-specific ConnectivityManager features for platforms that don't support WiFi.
nl::Weave::DeviceLayer::Internal::GenericConnectivityManagerImpl_Thread Provides a generic implementation of WiFi-specific ConnectivityManager features for use on platforms that support Thread.
nl::Weave::DeviceLayer::Internal::GenericSoftwareUpdateManagerImpl Provides a generic implementation of Software Update Manager features that works on multiple platforms.
nl::Weave::DeviceLayer::Internal::GenericSoftwareUpdateManagerImpl_BDX Provides a generic implementation of SoftwareUpdateManager features for use on platforms that support BDX.
nl::Weave::DeviceLayer::Internal::GenericThreadStackManagerImpl_FreeRTOS Provides a generic implementation of ThreadStackManager features that works on FreeRTOS platforms.
nl::Weave::DeviceLayer::Internal::GenericThreadStackManagerImpl_OpenThread Provides a generic implementation of ThreadStackManager features that works in conjunction with OpenThread.
nl::Weave::DeviceLayer::Internal::GenericThreadStackManagerImpl_OpenThread_LwIP Provides a generic implementation of ThreadStackManager features that works in conjunction with OpenThread and LwIP.
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl An implementation of the Weave GroupKeyStoreBase API for platforms based on the Silicon Labs SDK.
nl::Weave::DeviceLayer::Internal::NetworkProvisioningServer Provides network provisioning services for a Weave Device.
nl::Weave::DeviceLayer::Internal::NetworkProvisioningServerImpl Concrete implementation of the NetworkProvisioningServer singleton object for the Silicon Labs EFR32 platforms.
nl::Weave::DeviceLayer::Internal::NetworkTelemetryManager
nl::Weave::DeviceLayer::Internal::NRF5Config Provides functions and definitions for accessing persisted device configuration on platforms based on the Nordic nRF5 SDK.
nl::Weave::DeviceLayer::Internal::ServiceProvisioningServer Implements the Weave Service Provisioning profile for a Weave device.
nl::Weave::DeviceLayer::Internal::ThreadTelemetry
nl::Weave::DeviceLayer::Internal::ThreadTopology
nl::Weave::DeviceLayer::Internal::TunnelTelemetry
nl::Weave::DeviceLayer::Internal::WeaveTelemetryBase This is a base class that handles network telemetry functions for different networks.
nl::Weave::DeviceLayer::Internal::WiFiTelemetry

nl::Weave::DeviceManager

Classes

nl::Weave::DeviceManager::DeviceStatus
nl::Weave::DeviceManager::TraitSchemaDirectory
nl::Weave::DeviceManager::WeaveDeviceManager

nl::Weave::Platform::Security

Classes

nl::Weave::Platform::Security::AES128BlockCipher
nl::Weave::Platform::Security::AES128BlockCipherDec
nl::Weave::Platform::Security::AES128BlockCipherEnc
nl::Weave::Platform::Security::AES256BlockCipher
nl::Weave::Platform::Security::AES256BlockCipherDec
nl::Weave::Platform::Security::AES256BlockCipherEnc
nl::Weave::Platform::Security::SHA1
nl::Weave::Platform::Security::SHA256

nl::Weave::Profiles

Classes

nl::Weave::Profiles::MessageIterator In order to use message buffers sensibly, we define this iterator, which can be used to keep track of boundaries and so on.
nl::Weave::Profiles::ReferencedString Here's how to handle strings in Weave.
nl::Weave::Profiles::ReferencedTLVData Similarly, we need to be able to represent a big old blob of TLV data.
nl::Weave::Profiles::RetainedPacketBuffer This is a base class that serves as a convenience object for automatically reference counting a System::PacketBuffer.
nl::Weave::Profiles::WeaveEchoClient
nl::Weave::Profiles::WeaveEchoServer

nl::Weave::Profiles::BDX_Current

Classes

nl::Weave::Profiles::BDX_Current::BlockAck
nl::Weave::Profiles::BDX_Current::BlockEOF
nl::Weave::Profiles::BDX_Current::BlockEOFAck
nl::Weave::Profiles::BDX_Current::BlockQuery
nl::Weave::Profiles::BDX_Current::BlockSend
nl::Weave::Profiles::BDX_Current::ReceiveAccept
nl::Weave::Profiles::BDX_Current::ReceiveInit
nl::Weave::Profiles::BDX_Current::ReceiveReject
nl::Weave::Profiles::BDX_Current::SendAccept
nl::Weave::Profiles::BDX_Current::SendInit
nl::Weave::Profiles::BDX_Current::SendReject
nl::Weave::Profiles::BDX_Current::TransferError
nl::Weave::Profiles::BDX_Current::WeaveBdxClient
nl::Weave::Profiles::BDX_Current::WeaveBdxDelegate

nl::Weave::Profiles::BDX_Development

Classes

nl::Weave::Profiles::BDX_Development::BdxNode
nl::Weave::Profiles::BDX_Development::BlockAck The BlockAck message is used to acknowledge a block of data.
nl::Weave::Profiles::BDX_Development::BlockAckV1 The BlockAckV1 message is used to acknowledge a block of data.
nl::Weave::Profiles::BDX_Development::BlockEOF The BlockEOF message is used to transfer the last block of data from sender to receiver.
nl::Weave::Profiles::BDX_Development::BlockEOFAck The BlockEOFAck message is used to acknowledge the last block of data.
nl::Weave::Profiles::BDX_Development::BlockEOFAckV1 The BlockEOFAckV1 message is used to acknowledge the last block of data.
nl::Weave::Profiles::BDX_Development::BlockEOFV1 The BlockEOFV1 message is used to transfer the last block of data from sender to receiver.
nl::Weave::Profiles::BDX_Development::BlockQuery The BlockQuery message is used to request that a block of data be transferred from sender to receiver.
nl::Weave::Profiles::BDX_Development::BlockQueryV1 The BlockQueryV1 message is used to request that a block of data be transferred from sender to receiver.
nl::Weave::Profiles::BDX_Development::BlockSend The BlockSend message is used to transfer a block of data from sender to receiver.
nl::Weave::Profiles::BDX_Development::BlockSendV1 The BlockSendV1 message is used to transfer a block of data from sender to receiver.
nl::Weave::Profiles::BDX_Development::ReceiveAccept The ReceiveAccept message is used to accept a proposed exchange when the receiver is the initiator.
nl::Weave::Profiles::BDX_Development::ReceiveInit The ReceiveInit message is used to start an exchange when the receiver is the initiator.
nl::Weave::Profiles::BDX_Development::ReceiveReject The ReceiveReject message is used to reject a proposed exchange when the sender is the initiator.
nl::Weave::Profiles::BDX_Development::SendAccept The SendAccept message is used to accept a proposed exchange when the sender is the initiator.
nl::Weave::Profiles::BDX_Development::SendInit The SendInit message is used to start an exchange when the sender is the initiator.
nl::Weave::Profiles::BDX_Development::SendReject The SendReject message is used to reject a proposed exchange when the sender is the initiator.
nl::Weave::Profiles::BDX_Development::TransferError The Error message is used to report an error and abort an exchange.

Structs

nl::Weave::Profiles::BDX_Development::BDXHandlers
nl::Weave::Profiles::BDX_Development::BDXTransfer This structure contains data members representing an active BDX transfer.

nl::Weave::Profiles::BulkDataTransfer

Classes

nl::Weave::Profiles::BulkDataTransfer::BdxDelegate

nl::Weave::Profiles::DataManagement_Current

Classes

nl::Weave::Profiles::DataManagement_Current::AlwaysAcceptDataElementAccessControlDelegate
nl::Weave::Profiles::DataManagement_Current::BuilderBase Base class for WDM message encoders.
nl::Weave::Profiles::DataManagement_Current::CircularEventReader A TLVReader backed by CircularEventBuffer.
nl::Weave::Profiles::DataManagement_Current::Command
nl::Weave::Profiles::DataManagement_Current::CommandSender
nl::Weave::Profiles::DataManagement_Current::GenericTraitCatalogImpl A Weave provided implementation of the TraitCatalogBase interface for a collection of trait data instances that all refer to the same resource.
nl::Weave::Profiles::DataManagement_Current::IDataElementAccessControlDelegate Interface that is to be implemented by a processor of data elements in a NotifyRequest.
nl::Weave::Profiles::DataManagement_Current::IDirtyPathCut
nl::Weave::Profiles::DataManagement_Current::IPathFilter
nl::Weave::Profiles::DataManagement_Current::IWeavePublisherLock Interface that is to be implemented by app to serialize access to key WDM data structures.
nl::Weave::Profiles::DataManagement_Current::IWeaveWDMMutex Interface of a mutex object.
nl::Weave::Profiles::DataManagement_Current::ListBuilderBase Base class for WDM message encoders, specialized in TLV array elements like Data Lists and Version Lists.
nl::Weave::Profiles::DataManagement_Current::ListParserBase Base class for WDM message parsers, specialized in TLV array elements like Data Lists and Version Lists.
nl::Weave::Profiles::DataManagement_Current::LogBDXUpload
nl::Weave::Profiles::DataManagement_Current::LoggingConfiguration LoggingConfiguration encapsulates the configurable component of the Weave Event Logging subsystem.
nl::Weave::Profiles::DataManagement_Current::LoggingManagement A class for managing the in memory event logs.
nl::Weave::Profiles::DataManagement_Current::NotificationEngine
nl::Weave::Profiles::DataManagement_Current::ParserBase Base class for WDM message parsers.
nl::Weave::Profiles::DataManagement_Current::ResourceIdentifier A structure encapsulating the ID of a resource.
nl::Weave::Profiles::DataManagement_Current::SingleResourceTraitCatalog
nl::Weave::Profiles::DataManagement_Current::SubscriptionClient
nl::Weave::Profiles::DataManagement_Current::SubscriptionEngine This is a singleton hosting all WDM Next subscriptions, both client and publisher sides.
nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler
nl::Weave::Profiles::DataManagement_Current::TraitCatalogBase
nl::Weave::Profiles::DataManagement_Current::TraitDataSink
nl::Weave::Profiles::DataManagement_Current::TraitDataSource
nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine The schema engine takes schema information associated with a particular trait and provides facilities to parse and translate that into a form usable by the WDM machinery.
nl::Weave::Profiles::DataManagement_Current::TraitUpdatableDataSink
nl::Weave::Profiles::DataManagement_Current::UpdateClient
nl::Weave::Profiles::DataManagement_Current::UpdateDictionaryDirtyPathCut Utility class to put the dictionary back to pending queue when process the property path that has dictionary child.
nl::Weave::Profiles::DataManagement_Current::UpdateDirtyPathFilter Utility class to filter path when handling notification.
nl::Weave::Profiles::DataManagement_Current::UpdateEncoder This object encodes WDM UpdateRequest and PartialUpdateRequest payloads.
nl::Weave::Profiles::DataManagement_Current::ViewClient

Structs

nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer Internal event buffer, built around the nl::Weave::TLV::WeaveCircularTLVBuffer.
nl::Weave::Profiles::DataManagement_Current::ConstSchemaVersionRange
nl::Weave::Profiles::DataManagement_Current::CopyAndAdjustDeltaTimeContext Internal structure for traversing event list.
nl::Weave::Profiles::DataManagement_Current::DebugLogContext
nl::Weave::Profiles::DataManagement_Current::DetailedRootSection The structure that provides a full resolution of the trait instance.
nl::Weave::Profiles::DataManagement_Current::EventEnvelopeContext Internal structure for traversing events.
nl::Weave::Profiles::DataManagement_Current::EventLoadOutContext Structure for copying event lists on output.
nl::Weave::Profiles::DataManagement_Current::EventOptions The structure that provides options for the different event fields.
nl::Weave::Profiles::DataManagement_Current::EventSchema The structure that defines a schema for event metadata.
nl::Weave::Profiles::DataManagement_Current::ExternalEvents Structure for tracking platform-stored events.
nl::Weave::Profiles::DataManagement_Current::LogStorageResources A helper class used in initializing logging management.
nl::Weave::Profiles::DataManagement_Current::ReclaimEventCtx
nl::Weave::Profiles::DataManagement_Current::SchemaVersionRange
nl::Weave::Profiles::DataManagement_Current::TraitPath
nl::Weave::Profiles::DataManagement_Current::TraitPathStore
nl::Weave::Profiles::DataManagement_Current::VersionedTraitPath

Unions

nl::Weave::Profiles::DataManagement_Current::Timestamp The union that provides an application set system or UTC timestamp.

nl::Weave::Profiles::DataManagement_Current::BaseMessageWithSubscribeId

Classes

nl::Weave::Profiles::DataManagement_Current::BaseMessageWithSubscribeId::Builder
nl::Weave::Profiles::DataManagement_Current::BaseMessageWithSubscribeId::Parser

nl::Weave::Profiles::DataManagement_Current::CustomCommand

Classes

nl::Weave::Profiles::DataManagement_Current::CustomCommand::Builder WDM Custom Command encoder definition.
nl::Weave::Profiles::DataManagement_Current::CustomCommand::Parser WDM Custom Command Request parser definition.

nl::Weave::Profiles::DataManagement_Current::CustomCommandResponse

Classes

nl::Weave::Profiles::DataManagement_Current::CustomCommandResponse::Builder WDM Custom Command Response encoder definition.
nl::Weave::Profiles::DataManagement_Current::CustomCommandResponse::Parser WDM Custom Command Response parser definition.

nl::Weave::Profiles::DataManagement_Current::DataElement

Classes

nl::Weave::Profiles::DataManagement_Current::DataElement::Builder WDM Data Element encoder definition.
nl::Weave::Profiles::DataManagement_Current::DataElement::Parser WDM Data Element parser definition.

nl::Weave::Profiles::DataManagement_Current::DataList

Classes

nl::Weave::Profiles::DataManagement_Current::DataList::Builder
nl::Weave::Profiles::DataManagement_Current::DataList::Parser

nl::Weave::Profiles::DataManagement_Current::Event

Classes

nl::Weave::Profiles::DataManagement_Current::Event::Builder
nl::Weave::Profiles::DataManagement_Current::Event::Parser

nl::Weave::Profiles::DataManagement_Current::EventList

Classes

nl::Weave::Profiles::DataManagement_Current::EventList::Builder
nl::Weave::Profiles::DataManagement_Current::EventList::Parser

nl::Weave::Profiles::DataManagement_Current::NotificationRequest

Classes

nl::Weave::Profiles::DataManagement_Current::NotificationRequest::Parser

nl::Weave::Profiles::DataManagement_Current::Path

Classes

nl::Weave::Profiles::DataManagement_Current::Path::Builder
nl::Weave::Profiles::DataManagement_Current::Path::Parser

nl::Weave::Profiles::DataManagement_Current::PathList

Classes

nl::Weave::Profiles::DataManagement_Current::PathList::Builder
nl::Weave::Profiles::DataManagement_Current::PathList::Parser

nl::Weave::Profiles::DataManagement_Current::RejectionRecord

Classes

nl::Weave::Profiles::DataManagement_Current::RejectionRecord::Builder
nl::Weave::Profiles::DataManagement_Current::RejectionRecord::Parser

nl::Weave::Profiles::DataManagement_Current::RejectionRecordList

Classes

nl::Weave::Profiles::DataManagement_Current::RejectionRecordList::Builder
nl::Weave::Profiles::DataManagement_Current::RejectionRecordList::Parser

nl::Weave::Profiles::DataManagement_Current::StatusElement

Classes

nl::Weave::Profiles::DataManagement_Current::StatusElement::Builder WDM Status Element encoder definition.
nl::Weave::Profiles::DataManagement_Current::StatusElement::Parser WDM Status Element parser definition.

nl::Weave::Profiles::DataManagement_Current::StatusList

Classes

nl::Weave::Profiles::DataManagement_Current::StatusList::Builder StatusList builder.
nl::Weave::Profiles::DataManagement_Current::StatusList::Parser

nl::Weave::Profiles::DataManagement_Current::SubscribeCancelRequest

Classes

nl::Weave::Profiles::DataManagement_Current::SubscribeCancelRequest::Builder
nl::Weave::Profiles::DataManagement_Current::SubscribeCancelRequest::Parser

nl::Weave::Profiles::DataManagement_Current::SubscribeConfirmRequest

Classes

nl::Weave::Profiles::DataManagement_Current::SubscribeConfirmRequest::Builder
nl::Weave::Profiles::DataManagement_Current::SubscribeConfirmRequest::Parser

nl::Weave::Profiles::DataManagement_Current::SubscribeRequest

Classes

nl::Weave::Profiles::DataManagement_Current::SubscribeRequest::Builder
nl::Weave::Profiles::DataManagement_Current::SubscribeRequest::Parser WDM Path parser definition.

nl::Weave::Profiles::DataManagement_Current::SubscribeResponse

Classes

nl::Weave::Profiles::DataManagement_Current::SubscribeResponse::Builder
nl::Weave::Profiles::DataManagement_Current::SubscribeResponse::Parser WDM Path parser definition.

nl::Weave::Profiles::DataManagement_Current::UpdateRequest

Classes

nl::Weave::Profiles::DataManagement_Current::UpdateRequest::Parser WDM Update Request parser definition.

nl::Weave::Profiles::DataManagement_Current::UpdateResponse

Classes

nl::Weave::Profiles::DataManagement_Current::UpdateResponse::Builder WDM Update Response encoder definition.
nl::Weave::Profiles::DataManagement_Current::UpdateResponse::Parser

nl::Weave::Profiles::DataManagement_Current::VersionList

Classes

nl::Weave::Profiles::DataManagement_Current::VersionList::Builder
nl::Weave::Profiles::DataManagement_Current::VersionList::Parser

nl::Weave::Profiles::DataManagement_Legacy

Classes

nl::Weave::Profiles::DataManagement_Legacy::Binding The Binding class manages communications state on behalf of an application entity using Weave.
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager An abstract class containing confirm and indication method definitions required by the WDM client.
nl::Weave::Profiles::DataManagement_Legacy::ClientNotifier An auxiliary class employed when subscription and notification support are desired on a WDM client.
nl::Weave::Profiles::DataManagement_Legacy::DMClient The abstract base class for application-specific WDM clients.
nl::Weave::Profiles::DataManagement_Legacy::DMPublisher The abstract base class for application-specific WDM publishers.
nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase The abstract ProfileDatabase auxiliary class.
nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine The WDM protocol engine class.
nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager An abstract class containing confirm and notification method definitions required by the WDM publisher.

nl::Weave::Profiles::DeviceControl

Classes

nl::Weave::Profiles::DeviceControl::DeviceControlDelegate Delegate class for implementing incoming Device Control operations on the server device.
nl::Weave::Profiles::DeviceControl::DeviceControlServer Server class for implementing the Device Control profile.

nl::Weave::Profiles::DeviceDescription

Classes

nl::Weave::Profiles::DeviceDescription::DeviceDescriptionClient Client object for issuing Device Description requests.
nl::Weave::Profiles::DeviceDescription::DeviceDescriptionServer Server object for responding to Device Description requests.
nl::Weave::Profiles::DeviceDescription::IdentifyDeviceCriteria Represents criteria use to select devices in the IdentifyDevice protocol.
nl::Weave::Profiles::DeviceDescription::IdentifyRequestMessage Parsed form of an IdentifyRequest Message.
nl::Weave::Profiles::DeviceDescription::IdentifyResponseMessage Parsed form of an IdentifyResponse Message.
nl::Weave::Profiles::DeviceDescription::TextDescriptorReader
nl::Weave::Profiles::DeviceDescription::TextDescriptorWriter
nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor Contains descriptive information about a Weave device.

nl::Weave::Profiles::Echo_Next

Classes

nl::Weave::Profiles::Echo_Next::WeaveEchoClient
Provides the ability to send Weave EchoRequest messages to a peer node and receive
the corresponding EchoResponse messages.
nl::Weave::Profiles::Echo_Next::WeaveEchoServer
Accepts EchoRequest messages from a peer node and responds with an EchoResponse message.

nl::Weave::Profiles::FabricProvisioning

Classes

nl::Weave::Profiles::FabricProvisioning::FabricProvisioningDelegate Delegate class for implementing additional actions corresponding to Fabric Provisioning operations.
nl::Weave::Profiles::FabricProvisioning::FabricProvisioningServer Server class for implementing the Fabric Provisioning profile.

nl::Weave::Profiles::Heartbeat

Classes

nl::Weave::Profiles::Heartbeat::WeaveHeartbeatReceiver Weave Heartbeat Receiver class.
nl::Weave::Profiles::Heartbeat::WeaveHeartbeatSender Weave Heartbeat Sender class.

nl::Weave::Profiles::NetworkProvisioning

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.
nl::Weave::Profiles::NetworkProvisioning::WirelessRegConfig Container for wireless regulatory configuration information.

Structs

nl::Weave::Profiles::NetworkProvisioning::WirelessRegDomain 2-character code identifying a wireless regulatory domain.

nl::Weave::Profiles::Security

Classes

nl::Weave::Profiles::Security::CertificateKeyId
nl::Weave::Profiles::Security::ValidationContext
nl::Weave::Profiles::Security::WeaveCertificateData
nl::Weave::Profiles::Security::WeaveCertificateSet
nl::Weave::Profiles::Security::WeaveDN
nl::Weave::Profiles::Security::WeaveProvisioningBundle
nl::Weave::Profiles::Security::WeaveSignatureGenerator Generates a WeaveSignature using an in-memory private key.
nl::Weave::Profiles::Security::WeaveSignatureGeneratorBase Provides generic functionality for generating WeaveSignatures.

nl::Weave::Profiles::Security::AppKeys

Classes

nl::Weave::Profiles::Security::AppKeys::DummyGroupKeyStore
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase The definition of the Weave group key store class.
nl::Weave::Profiles::Security::AppKeys::WeaveGroupKey Contains information about Weave application group keys.

nl::Weave::Profiles::Security::CASE

Classes

nl::Weave::Profiles::Security::CASE::BeginSessionContext Holds context information related to the generation or processing of a CASE begin session messages.
nl::Weave::Profiles::Security::CASE::BeginSessionRequestContext Holds context information related to the generation or processing of a CASE BeginSessionRequest message.
nl::Weave::Profiles::Security::CASE::BeginSessionResponseContext Holds context information related to the generation or processing of a CASE BeginSessionRequest message.
nl::Weave::Profiles::Security::CASE::ReconfigureContext Holds information related to the generation or processing of a CASE Reconfigure message.
nl::Weave::Profiles::Security::CASE::WeaveCASEAuthDelegate Abstract interface to which authentication actions are delegated during CASE session establishment.
nl::Weave::Profiles::Security::CASE::WeaveCASEEngine Implements the core logic of the Weave CASE protocol.

nl::Weave::Profiles::Security::CertProvisioning

Classes

nl::Weave::Profiles::Security::CertProvisioning::WeaveCertProvEngine Implements the core logic of the Weave Certificate Provisioning protocol object.
nl::Weave::Profiles::Security::CertProvisioning::WeaveNodeMfrAttestDelegate Abstract interface to which platform specific actions are delegated during Weave node manufacturer attestation.
nl::Weave::Profiles::Security::CertProvisioning::WeaveNodeOpAuthDelegate Abstract interface to which platform specific actions are delegated during Weave node operational authentication.

nl::Weave::Profiles::Security::KeyExport

Classes

nl::Weave::Profiles::Security::KeyExport::__FINAL
nl::Weave::Profiles::Security::KeyExport::WeaveKeyExport Implements the core logic of the Weave key export protocol.
nl::Weave::Profiles::Security::KeyExport::WeaveKeyExportDelegate Abstract delegate class called by KeyExport engine to perform various actions related to authentication during key export.
nl::Weave::Profiles::Security::KeyExport::WeaveStandAloneKeyExportClient Implements the client side of the Weave key export protocol for use in stand-alone (non-Weave messaging) contexts.

nl::Weave::Profiles::Security::PASE

Classes

nl::Weave::Profiles::Security::PASE::WeavePASEEngine

nl::Weave::Profiles::Security::Passcodes

Structs

nl::Weave::Profiles::Security::Passcodes::EncryptedPasscodeStruct

nl::Weave::Profiles::Security::TAKE

Classes

nl::Weave::Profiles::Security::TAKE::WeaveTAKEChallengerAuthDelegate
nl::Weave::Profiles::Security::TAKE::WeaveTAKEEngine
nl::Weave::Profiles::Security::TAKE::WeaveTAKETokenAuthDelegate

nl::Weave::Profiles::ServiceDirectory

Classes

nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager The manager object for the Weave service directory.

Structs

nl::Weave::Profiles::ServiceDirectory::ServiceConnectBeginArgs Arguments passed to the WeaveServiceManager::OnConnectBegin callback.

nl::Weave::Profiles::ServiceProvisioning

Classes

nl::Weave::Profiles::ServiceProvisioning::IFJServiceFabricJoinMessage
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

nl::Weave::Profiles::SoftwareUpdate

Classes

nl::Weave::Profiles::SoftwareUpdate::ImageAnnounce Class describing the ImageAnnounce message.
nl::Weave::Profiles::SoftwareUpdate::ImageQuery A class to support creation and decoding of image query messages.
nl::Weave::Profiles::SoftwareUpdate::ImageQueryResponse A class to support creation and decoding of the image query response messages.
nl::Weave::Profiles::SoftwareUpdate::IntegritySpec An auxiliary class holding the integrity type and the actual hash of the software update image.
nl::Weave::Profiles::SoftwareUpdate::IntegrityTypeList An auxiliary class to hold a list of integrity types as a part of the image query.
nl::Weave::Profiles::SoftwareUpdate::IWeaveImageAnnounceServerDelegate Interface for WeaveImageAnnounceServer delegate.
nl::Weave::Profiles::SoftwareUpdate::ProductSpec An auxiliary class that representing a product specification.
nl::Weave::Profiles::SoftwareUpdate::UpdateSchemeList An auxiliary class to hold a list of update schemes as a part of the image query.
nl::Weave::Profiles::SoftwareUpdate::WeaveImageAnnounceServer Server that listens for Weave image announcements.

nl::Weave::Profiles::StatusReporting

Classes

nl::Weave::Profiles::StatusReporting::StatusReport

nl::Weave::Profiles::Time

Classes

nl::Weave::Profiles::Time::_TimeSyncNodeBase
nl::Weave::Profiles::Time::SingleSourceTimeSyncClient
nl::Weave::Profiles::Time::TimeChangeNotification codec for Time Change Notification message
nl::Weave::Profiles::Time::TimeSyncNode
nl::Weave::Profiles::Time::TimeSyncRequest
nl::Weave::Profiles::Time::TimeSyncResponse
nl::Weave::Profiles::Time::TimeZoneUtcOffset Codec for UTC offset of a timezone.

Structs

nl::Weave::Profiles::Time::Contact This is in the public because the TimeSyncNode::FilterTimeCorrectionContributor callback gives a global view to higher layer.
nl::Weave::Profiles::Time::ServingNode used to specify contacts for calling SyncWithNodes It's put in the open instead of being a nested class to make class declaration of TimeSyncNode shorter, and also the export declaration more explicit.

nl::Weave::Profiles::TokenPairing

Classes

nl::Weave::Profiles::TokenPairing::TokenPairingDelegate
nl::Weave::Profiles::TokenPairing::TokenPairingServer Server object for responding to Token Pairing requests.

nl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing

Classes

nl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingDelegate Delegate class for implementing incoming Dropcam Legacy Pairing operations on the server device.
nl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingServer Server class for implementing the Dropcam Legacy Pairing profile.

nl::Weave::Profiles::WeaveTunnel

Classes

nl::Weave::Profiles::WeaveTunnel::ReconnectParam The reconnect policy parameters that are used to govern the way the tunnel reconnects to the Service.
nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent
nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr This class encapsulates all the Weave tunnel connection states and the associated management logic and functions.
nl::Weave::Profiles::WeaveTunnel::WeaveTunnelControl
nl::Weave::Profiles::WeaveTunnel::WeaveTunnelHeader
nl::Weave::Profiles::WeaveTunnel::WeaveTunnelRoute

nl::Weave::SecuritySupport

Classes

nl::Weave::SecuritySupport::PairingCodeSupport
nl::Weave::SecuritySupport::PasscodeEncryptionSupport
nl::Weave::SecuritySupport::WeaveCertificateSupport
nl::Weave::SecuritySupport::WeaveKeyExportClientNative
nl::Weave::SecuritySupport::WeaveKeyExportSupportNative
nl::Weave::SecuritySupport::WeaveSecuritySupport

nl::Weave::Support

Structs

nl::Weave::Support::ProfileStringContext Context for registering and deregistering callbacks associated with the specified profile identifier for returning human-readable support strings associated with the profile.
nl::Weave::Support::ProfileStringInfo Callbacks associated with the specified profile identifier for returning human-readable support strings associated with the profile.

nl::Weave::System

Classes

nl::Weave::System::Layer
This provides access to timers according to the configured event handling model.
nl::Weave::System::LwIPEventHandlerDelegate
nl::Weave::System::Mutex
This class represents a simple mutual exclusion lock used on platforms with preemptively scheduled multi-threaded
programming environments, for example, POSIX threads and FreeRTOS.
nl::Weave::System::Object This represents a reference-counted object allocated from space contained in an ObjectPool object.
nl::Weave::System::PacketBuffer The packet buffer class is the core structure used for manipulating packets of octet-serialized data, usually in the context of a data communications network, like Bluetooth or the Internet protocol.
nl::Weave::System::Timer This is an internal class to Weave System Layer, used to represent an in-progress one-shot timer.

Structs

nl::Weave::System::LwIPEvent

Unions

nl::Weave::System::ObjectArena
A union template used for representing a well-aligned block of memory.

nl::Weave::System::Stats

Classes

nl::Weave::System::Stats::Snapshot

nl::Weave::TLV

Classes

nl::Weave::TLV::CircularTLVReader
nl::Weave::TLV::CircularTLVWriter
nl::Weave::TLV::TLVReader Provides a memory efficient parser for data encoded in Weave TLV format.
nl::Weave::TLV::TLVUpdater Provides a unified Reader/Writer interface for editing/adding/deleting elements in TLV encoding.
nl::Weave::TLV::TLVWriter Provides a memory efficient encoder for writing data in Weave TLV format.
nl::Weave::TLV::WeaveCircularTLVBuffer WeaveCircularTLVBuffer provides circular storage for the nl::Weave::TLV::TLVWriter and nl::Weave::TLVTLVReader.

nl::Weave::TLV::Debug

Structs

nl::Weave::TLV::Debug::DumpContext

nl::Weave::TLV::Utilities

Structs

nl::Weave::TLV::Utilities::FindContext
nl::Weave::TLV::Utilities::FindPredicateContext

nl::Weave::Warm

Classes

nl::Weave::Warm::WarmFabricStateDelegate This is an internal class to WarmCore.

Structs

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

Schema::Weave::Trait::Auth::ApplicationKeysTrait

Classes

Schema::Weave::Trait::Auth::ApplicationKeysTrait::ApplicationKeysTraitDataSink Contains interfaces for the Weave application keys trait data sink.

Modules

Device Control
Fabric Provisioning
Network Provisioning
Passive Rendezvous Passive Rendezvous differs from Active in that the connection establishment phase is initiated before the identify phase by the provisionee.
Remote Passive Rendezvous Remote Passive Rendezvous differs from Passive Rendezvous in that an assisting device acts as a relay for the provisionee, relaying messages between the provisionee and provisioner.
Service Provisioning
Token Pairing