nl::Weave::Profiles::DataManagement_Legacy

Cet espace de noms inclut toutes les interfaces de Weave associées au profil WDM (Weave Data Management) qui seront bientôt obsolètes.

Résumé

Énumérations

@103{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
@166{
  kViewPoolSize = WEAVE_CONFIG_WDM_VIEW_POOL_SIZE,
  kSubscribePoolSize = WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE,
  kCancelSubscriptionPoolSize = WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE,
  kUpdatePoolSize = WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE,
  kNotifyPoolSize = WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE,
  kTransactionTableSize = WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE,
  kBindingTableSize = WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE,
  kNotifierTableSize = WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE,
  kSubscriptionMgrTableSize = WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE
}
enum
les tailles de pool et de table WDM.
@167{
  kMsgType_ViewRequest = 0x10,
  kMsgType_ViewResponse = 0x11,
  kMsgType_SubscribeRequest = 0x12,
  kMsgType_SubscribeResponse = 0x13,
  kMsgType_CancelSubscriptionRequest = 0x14,
  kMsgType_UpdateRequest = 0x15,
  kMsgType_NotifyRequest = 0x16,
  kMsgType_ViewRequest_Deprecated = 0x00,
  kMsgType_ViewResponse_Deprecated = 0x01,
  kMsgType_SubscribeRequest_Deprecated = 0x02,
  kMsgType_SubscribeResponse_Deprecated = 0x03,
  kMsgType_CancelSubscriptionRequest_Deprecated = 0x04,
  kMsgType_UpdateRequest_Deprecated = 0x05,
  kMsgType_NotifyRequest_Deprecated = 0x06
}
enum
Types de messages de profil WDM.
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
enum
Constantes diverses spécifiques à WDM
@169{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
Codes d'état spécifiques à WDM
@170{
  kTag_WDMPathList = 100,
  kTag_WDMPathProfile = 101,
  kTag_WDMPathProfileId = 1,
  kTag_WDMPathProfileInstance = 2,
  kTag_WDMPathProfileId_Deprecated = 102,
  kTag_WDMPathProfileInstance_Deprecated = 103,
  kTag_WDMPathArrayIndexSelector = 104,
  kTag_WDMPathArrayValueSelector = 105,
  kTag_WDMDataList = 200,
  kTag_WDMDataListElementPath = 3,
  kTag_WDMDataListElementVersion = 4,
  kTag_WDMDataListElementData = 5,
  kTag_WDMDataListElementPath_Deprecated = 201,
  kTag_WDMDataListElementVersion_Deprecated = 202,
  kTag_WDMDataListElementData_Deprecated = 203
}
enum
Balises du protocole de gestion des données.
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
enum
ID de thèmes distincts
WeaveTransportOption{
  kTransport_TCP = 1,
  kTransport_WRMP = 2,
  kTransport_UDP = 3
}
enum
les options de transport WDM.

Typedefs

TopicIdentifier typedef
uint64_t
Identifiant du thème.

distantes

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
Vérifiez qu'un élément TLV en cours de lecture possède le type TLV attendu.
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
Vérifiez un tag spécifique à WDM.
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
Arrêtez la lecture d'un élément de liste de données WDM.
CloseList(nl::Weave::TLV::TLVReader & aReader)
Arrêtez la lecture d'un chemin d'accès ou d'une liste de données WDM.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Encodez un chemin WDM avec des balises obsolètes et un ID d'instance entier.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Encodez un chemin WDM avec des tags obsolètes et un ID d'instance de chaîne.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Encodez un chemin WDM avec un ID d'instance de profil entier.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
Encodez un chemin WDM avec un ID d'instance de tableau d'octets.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Encodez un chemin WDM avec un ID d'instance de chaîne.
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Terminez l'écriture d'un élément de liste de données.
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
EndList(nl::Weave::TLV::TLVWriter & aWriter)
Terminez la création d'une liste de chemins d'accès ou de données.
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
Terminez la création d'une liste de chemins d'accès ou de données.
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
Vérifiez si un ID de thème est propre à l'éditeur.
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
Commencez à lire une liste de données.
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
Commencez à lire un élément de liste de données.
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
Commencez à lire une liste de chemins.
PublisherSpecificTopicId(void)
Générez entièrement un ID de thème spécifique à l'éditeur.
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
Commencez à rédiger une liste de données.
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
Commencez à écrire une liste de données dans un objet ReferencedTLVData donné.
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Commencez à écrire un élément de liste de données.
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
Commencez à écrire une liste de chemins.
TxnResponseHandler(ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
TxnTimeoutHandler(ExchangeContext *anExchangeCtx)
void
ValidateTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
Vérifiez qu'un élément TLV en cours de lecture possède le type TLV attendu.
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
Vérifiez qu'un élément TLV en cours de lecture possède la balise WDM attendue.

Classes

nl::Weave::Profiles::DataManagement_Legacy::Binding

La classe Binding gère l'état des communications pour le compte d'une entité d'application à l'aide de Weave.

nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

Classe abstraite contenant les définitions des méthodes de confirmation et d'indication requises par le client WDM.

nl::Weave::Profiles::DataManagement_Legacy::ClientNotifier

Une classe auxiliaire utilisée lorsque la prise en charge des abonnements et des notifications est souhaitée sur un client WDM.

nl::Weave::Profiles::DataManagement_Legacy::DMClient

Classe de base abstraite pour les clients WDM spécifiques à l'application.

nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

Classe de base abstraite pour les éditeurs WDM spécifiques à une application.

nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase

Classe auxiliaire ProfileDatabase abstraite.

nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine

Classe de moteur de protocole WDM.

nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

Classe abstraite contenant les définitions des méthodes de confirmation et de notification requises par l'éditeur WDM.

Énumérations

@103

 @103
Propriétés
kStatus_CancelSuccess

Cet ancien code d'état signifie qu'un abonnement a bien été résilié.

Ce code d'état signifie qu'un abonnement a bien été résilié.

kStatus_IllegalReadRequest

Cet ancien code d'état signifie que le nœud qui envoie une demande de lecture d'un élément de données particulier n'est pas autorisé à le faire.

Ce code d'état signifie que le nœud qui envoie une demande de lecture d'un élément de données particulier n'est pas autorisé à le faire.

kStatus_IllegalWriteRequest

Cet ancien code d'état signifie que le nœud qui envoie une demande d'écriture d'un élément de données particulier n'est pas autorisé à le faire.

Ce code d'état signifie que le nœud qui envoie une demande d'écriture d'un élément de données particulier ne dispose pas des autorisations nécessaires.

kStatus_InvalidPath

Ce code d'état hérité signifie qu'un chemin d'accès de la liste de chemins d'une trame de requête de vue ou de mise à jour ne correspondait pas au schéma résident du nœud du répondeur.

Ce code d'état signifie qu'un chemin d'accès de la liste de chemins d'une trame de requête de vue ou de mise à jour ne correspondait pas au schéma résident du nœud du répondeur.

kStatus_InvalidVersion

Cet ancien code d'état signifie que la version des données incluses dans une demande de mise à jour ne correspondait pas à la version la plus récente de l'éditeur. La mise à jour n'a donc pas pu être appliquée.

Ce code d'état signifie que la version des données incluses dans une demande de mise à jour ne correspondait pas à la version la plus récente de l'éditeur. La mise à jour n'a donc pas pu être appliquée.

kStatus_UnknownTopic

Cet ancien code d'état signifie que l'identifiant du sujet fourni dans une demande d'annulation ou une notification ne correspond à aucun abonnement existant sur le nœud destinataire.

Ce code d'état signifie que l'identifiant du sujet fourni dans une demande d'annulation ou une notification ne correspond à aucun abonnement existant sur le nœud destinataire.

kStatus_UnsupportedSubscriptionMode

Cet ancien code d'état signifie que le mode d'abonnement demandé n'est pas compatible avec l'appareil destinataire.

Ce code d'état signifie que le mode d'abonnement demandé n'est pas compatible avec l'appareil destinataire.

@166

 @166

les tailles de pool et de table WDM.

WDM définit les différents pools et tables nécessaires à son fonctionnement, comme suit.

Pools de transactions client:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

Pools de transactions de l'éditeur:

  • kNotifyPoolSize

Tables du moteur de protocole:

  • kTransactionTableSize
  • kBindingTableSize

Tableaux liés aux abonnements:

  • kNotifierTableSize (client uniquement)
  • kSubscriptionMgrTableSize (éditeur uniquement)

Notez que les quantités sont configurables et que les valeurs par plate-forme apparaissent dans le fichier WeaveConfig.h associé.

Propriétés
kBindingTableSize

Il s'agit de la taille par défaut du tableau de liaison dans le moteur de protocole WDM.

Cette valeur peut être configurée via WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE.

kCancelSubscriptionPoolSize

Il s'agit de la taille par défaut du pool de transactions de demande d'annulation d'abonnement pour un client WDM.

Cette valeur peut être configurée via WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE.

kNotifierTableSize

Il s'agit de la taille par défaut de la table de notification pour les clients WDM.

Cette valeur peut être configurée via WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE.

kNotifyPoolSize

Il s'agit de la taille par défaut du pool de transactions des demandes de notification pour un éditeur WDM.

Cette valeur peut être configurée via WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE.

kSubscribePoolSize

Il s'agit de la taille par défaut du pool de transactions de requêtes d'abonnement pour un client WDM.

Cette valeur peut être configurée via WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE.

kSubscriptionMgrTableSize

Il s'agit de la taille par défaut du tableau des abonnements pour les éditeurs WDM.

Cette valeur peut être configurée via WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE.

kTransactionTableSize

Il s'agit de la taille par défaut du tableau des transactions dans le moteur de protocole WDM.

Cette valeur peut être configurée via WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE.

kUpdatePoolSize

Il s'agit de la taille par défaut du pool de transactions de requêtes de mise à jour pour un client WDM.

Cette valeur peut être configurée via WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE.

kViewPoolSize

Il s'agit de la taille par défaut du pool de transactions de requêtes d'affichage pour un client WDM.

Cette valeur peut être configurée via WEAVE_CONFIG_WDM_VIEW_POOL_SIZE.

@167

 @167

Types de messages de profil WDM.

Ces valeurs sont mentionnées dans la spécification de gestion des données.

REMARQUE ! Depuis le 1er trimestre 2015, les types de messages utilisés dans les versions précédentes de WDM ont été abandonnés, et de nouveaux types de messages ont été définis, reflétant un changement suffisant au niveau des anciens détails de packaging et d'analyse pour justifier une nouvelle interruption.

Propriétés
kMsgType_CancelSubscriptionRequest

Message de demande d'annulation d'abonnement.

kMsgType_CancelSubscriptionRequest_Deprecated

obsolète

kMsgType_NotifyRequest

Message de demande de notification.

kMsgType_NotifyRequest_Deprecated

obsolète

kMsgType_SubscribeRequest

Message de demande d'abonnement.

kMsgType_SubscribeRequest_Deprecated

obsolète

kMsgType_SubscribeResponse

Message de réponse "S'abonner".

kMsgType_SubscribeResponse_Deprecated

obsolète

kMsgType_UpdateRequest

Message de demande de mise à jour.

kMsgType_UpdateRequest_Deprecated

obsolète

kMsgType_ViewRequest

Affichez le message de la demande.

kMsgType_ViewRequest_Deprecated

obsolète

kMsgType_ViewResponse

Affichez le message de réponse.

kMsgType_ViewResponse_Deprecated

obsolète

@168

 @168

Constantes diverses spécifiques à WDM

Propriétés
kDefaultBindingTableIndex

Index de la liaison par défaut dans un tableau de liaisons de Protocol Engine avec plusieurs entrées.

kInstanceIdNotSpecified

Dans les appels nécessitant une spécification d'instance de profil, indique "none" (aucune).

Le plus souvent, cela signifie qu'une seule instance du profil est présente sur l'entité en question.

kResponseTimeoutNotSpecified

Dans les méthodes demandant une transaction, indique que l'appelant a refusé de spécifier un délai d'inactivité.

En général, cela signifie qu'une valeur par défaut doit être utilisée.

kTransactionIdNotSpecified

Dans les méthodes et les structures de données qui utilisent un ID de transaction, indique "none" ou une valeur générique.

kVersionNotSpecified

Dans les appels nécessitant la spécification d'une version de données, indique "aucune version particulière".

kWeaveTLVControlByteLen

Longueur d'un octet de contrôle TLV, utilisé dans les méthodes compatibles qui encodent les structures WDM dans TLV.

kWeaveTLVTagLen

Longueur standard en octets d'un tag TLV complet, utilisé dans les méthodes compatibles qui encodent les structures WDM dans TLV.

@169

 @169

Codes d'état spécifiques à WDM

Propriétés
kStatus_CancelSuccess

Cet ancien code d'état signifie qu'un abonnement a bien été résilié.

Ce code d'état signifie qu'un abonnement a bien été résilié.

kStatus_IllegalReadRequest

Cet ancien code d'état signifie que le nœud qui envoie une demande de lecture d'un élément de données particulier n'est pas autorisé à le faire.

Ce code d'état signifie que le nœud qui envoie une demande de lecture d'un élément de données particulier n'est pas autorisé à le faire.

kStatus_IllegalWriteRequest

Cet ancien code d'état signifie que le nœud qui envoie une demande d'écriture d'un élément de données particulier n'est pas autorisé à le faire.

Ce code d'état signifie que le nœud qui envoie une demande d'écriture d'un élément de données particulier ne dispose pas des autorisations nécessaires.

kStatus_InvalidPath

Ce code d'état hérité signifie qu'un chemin d'accès de la liste de chemins d'une trame de requête de vue ou de mise à jour ne correspondait pas au schéma résident du nœud du répondeur.

Ce code d'état signifie qu'un chemin d'accès de la liste de chemins d'une trame de requête de vue ou de mise à jour ne correspondait pas au schéma résident du nœud du répondeur.

kStatus_InvalidVersion

Cet ancien code d'état signifie que la version des données incluses dans une demande de mise à jour ne correspondait pas à la version la plus récente de l'éditeur. La mise à jour n'a donc pas pu être appliquée.

Ce code d'état signifie que la version des données incluses dans une demande de mise à jour ne correspondait pas à la version la plus récente de l'éditeur. La mise à jour n'a donc pas pu être appliquée.

kStatus_UnknownTopic

Cet ancien code d'état signifie que l'identifiant du sujet fourni dans une demande d'annulation ou une notification ne correspond à aucun abonnement existant sur le nœud destinataire.

Ce code d'état signifie que l'identifiant du sujet fourni dans une demande d'annulation ou une notification ne correspond à aucun abonnement existant sur le nœud destinataire.

kStatus_UnsupportedSubscriptionMode

Cet ancien code d'état signifie que le mode d'abonnement demandé n'est pas compatible avec l'appareil destinataire.

Ce code d'état signifie que le mode d'abonnement demandé n'est pas compatible avec l'appareil destinataire.

@170

 @170

Balises du protocole de gestion des données.

Le protocole de gestion des données définit un certain nombre de tags à utiliser dans la représentation TLV des données de profil.

Comme d'habitude, il existe des problèmes de compatibilité entre le nouveau WDM et l'ancien. Auparavant, tous ces tags étaient appliqués de manière spécifique au profil, ce qui générait un gaspillage d'espace. Nous utilisons désormais des tags de contexte lorsque cela est possible, mais nous devons conserver les anciens (et disposer d'un mécanisme d'encodage des chemins avec eux) le cas échéant.

La balise kTag_WDMDataListElementData n'était pas utilisée dans les versions précédentes et a été complètement ignorée par le code. Nous n'avons donc pas besoin de fournir une version obsolète.

Propriétés
kTag_WDMDataList

L'élément est une liste de structures contenant un chemin d'accès, une version facultative et des éléments de données.

Type de balise: Type d'élément spécifique au profil: Disposition du tableau: Premier niveau

kTag_WDMDataListElementData

L'élément représente les données vers lesquelles pointe un chemin donné et qui possède la version donnée.

Type de balise: Type d'élément spécifique au contexte: Toute disposition: Obligatoire

kTag_WDMDataListElementData_Deprecated

Obsolète.

Type de balise: Type d'élément spécifique au contexte: Toute disposition: Obligatoire

kTag_WDMDataListElementPath

L'élément est le composant de chemin d'un élément de liste de données.

Type de balise: propre au contexte Type d'élément: Disposition du chemin: Obligatoire

kTag_WDMDataListElementPath_Deprecated

Obsolète.

Type de balise: spécifique au profil Type d'élément: Disposition du chemin: Obligatoire

kTag_WDMDataListElementVersion

L'élément est le composant de version d'un élément de liste de données.

Type de balise: spécifique au contexte Type d'élément: entier Disposition: obligatoire

kTag_WDMDataListElementVersion_Deprecated

Obsolète.

Type de balise: spécifique au profil Type d'élément: entier Disposition: obligatoire

kTag_WDMPathArrayIndexSelector

L'élément de chemin correspond à un tableau dans le schéma et l'élément entier qu'il contient doit être utilisé comme index dans ce tableau.

Type de balise: spécifique au profil Type d'élément: entier Disposition: facultatif

kTag_WDMPathArrayValueSelector

L'élément de chemin correspond à un tableau dans le schéma, et l'élément encapsulé doit être utilisé comme sélecteur d'enregistrements.

Type de balise: spécifique au profil Type d'élément: Disposition de la structure: Facultatif

kTag_WDMPathList

L'élément est une liste de chemins TLV.

Type de balise: Type d'élément spécifique au profil: Disposition du tableau: Premier niveau

kTag_WDMPathProfile

L'élément est une structure qui sert à démarrer un tracé. Il contient les informations de profil à partir desquelles les balises du chemin doivent être interprétées.

Type de balise: spécifique au profil Type d'élément: structure de disposition: obligatoire

kTag_WDMPathProfileId

Cet élément est un composant d'ID de profil de l'élément de profil de chemin qui commence un chemin TLV.

Type de balise: spécifique au contexte Type d'élément: entier Disposition: obligatoire

kTag_WDMPathProfileId_Deprecated

Obsolète.

Type de balise: spécifique au profil Type d'élément: entier Disposition: obligatoire

kTag_WDMPathProfileInstance

L'élément est une instance de profil qui peut suivre l'ID de profil dans un chemin TLV.

Notez qu'un nœud peut avoir plusieurs instances d'un profil particulier. S'il n'y en a qu'une, cet élément peut être omis.

Type de balise: Type d'élément spécifique au contexte: Toute disposition: Facultatif

kTag_WDMPathProfileInstance_Deprecated

Obsolète.

Type de balise: propre au profil Type d'élément: Toute disposition: Facultatif

@171

 @171

ID de thèmes distincts

Il existe trois identifiants de thèmes qui vous intéressent, chacun au format "spécifique à l'éditeur".

Propriétés
kAnyTopicId

Ceci est réservé en tant qu'ID de sujet générique.

kTopicIdNotSpecified

Cette valeur spéciale est réservée à l'expression d'un ID de sujet non valide ou générique.

kTopicIdPublisherSpecificMask

Il sert de masque pour créer ou décomposer un ID topci.

WeaveTransportOption

 WeaveTransportOption

les options de transport WDM.

Ces options de transport pour WDM s'excluent mutuellement.

Propriétés
kTransport_TCP

Le transport sous-jacent est TCP.

La liaison peut être effectuée à l'aide du gestionnaire de services ou directement à l'aide de la couche de message.

kTransport_UDP

Le transport sous-jacent est exclusivement UDP.

kTransport_WRMP

Le transport sous-jacent est exclusivement UDP, mais avec des améliorations de la fiabilité « couche de support de l’application ».

Typedefs

TopicIdentifier

uint64_t TopicIdentifier

Identifiant du thème.

Les identifiants de sujet sont des quantités de 64 bits avec deux utilisations/sémantiques associées. Tout d'abord, ils peuvent servir de raccourci conventionnel pour désigner un ensemble de chemins bien connu, tel que "le détecteur de fumée Nest". Les ID de thèmes utilisés de cette manière doivent, comme les identifiants de profil, contenir un code fournisseur qui empêche les ID de thèmes choisis de manière autonome par des fournisseurs disparates, comme suit:

bit 48 à 63 bits 0 à 47
ID fournisseur Numéro du sujet
La seconde utilisation/sémantique des identifiants de sujet survient dans le cas d'un abonnement dynamique entre un client WDM et un éditeur. Dans ce cas, l'éditeur doit toujours fournir un ID de sujet unique correspondant à l'abonnement spécifique. Il doit le faire, que l'abonnement ait été demandé à l'aide d'un ID de sujet connu ou d'une liste de chemins d'accès arbitraire. Les identifiants de sujets de ce formulaire se distinguent par le code de fournisseur 0xFFFF.

Voir aussi:
WeaveVendorIdentifiers.hpp

distantes

CheckTLVType

bool CheckTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

Vérifiez qu'un élément TLV en cours de lecture possède le type TLV attendu.

Comparez un type de TLV donné au type d'élément en tête d'un lecteur TLV.

Détails
Paramètres
[in] aType
Valeur TLVType à vérifier par rapport à un élément spécifique
[in] aReader
Référence à un lecteur TLV positionné au niveau de l'élément à vérifier
Renvoie
La valeur "true" si le TLVType de l'élément et le type aType correspondent.
Voir aussi:
WeaveTLVTypes.h

CheckWDMTag

bool CheckWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

Vérifiez un tag spécifique à WDM.

Comparez le numéro d'un tag spécifique à WDM (dans .../data-management/DMConstants.h) à celui figurant dans l'en-tête d'un lecteur TLV.

Détails
Paramètres
[in] aTagNum
Numéro de balise à vérifier par rapport à un élément TLV spécifique.
[in] aReader
Référence à un lecteur TLV pointant vers l'élément à vérifier.
Renvoie
true iff aReader.GetTag() génère une balise qui correspond à l'un des formulaires de balise attendus pour le numéro de tag donné.

CloseDataListElement

WEAVE_ERROR CloseDataListElement(
  nl::Weave::TLV::TLVReader & aReader
)

Arrêtez la lecture d'un élément de liste de données WDM.

Cette méthode suppose que l'élément en question fait partie d'une liste de données WDM et transmet donc kTLVType_Array à ExitContainer().

Détails
Paramètres
[in,out] aReader
Lecteur TLV placé dans un élément de liste de données WDM.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez WEAVE_ERROR reflétant qu'il est impossible de quitter un conteneur.

CloseList

WEAVE_ERROR CloseList(
  nl::Weave::TLV::TLVReader & aReader
)

Arrêtez la lecture d'un chemin d'accès ou d'une liste de données WDM.

Cette méthode suppose que la liste en question est l'élément TLV le plus élevé et transmet donc kTLVType_Sructure à ExitContainer().

Détails
Paramètres
[in,out] aReader
Un lecteur TLV placé dans un chemin d'accès ou une liste de données WDM.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez WEAVE_ERROR reflétant qu'il est impossible de quitter un conteneur.

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

Encodez un chemin WDM avec des balises obsolètes et un ID d'instance entier.

Remarque:Encodez un chemin à l'aide de l'ensemble de balises obsolète accepté par le service avant la version 2.0 de Weave. Cette version de la méthode utilise un identifiant numérique d'instance. Cette méthode démarre un conteneur avec ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile), puis insère l'ID de profil avec ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated). Elle insère ensuite l'ID d'instance avec ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated). Il s'agit de l'une des versions obsolètes pour l'encodage d'un chemin d'accès, les nouvelles conceptions doivent éviter d'utiliser ce format.

Détails
Paramètres
[in] aWriter
Une référence au rédacteur TLV utilisée pour écrire le chemin.
[in] aTag
Référence au tag TLV complet qui s'applique à ce chemin.
[in] aProfileId
ID de profil sous lequel les éléments du chemin doivent être interprétés.
[in] aInstanceId
Référence à l'ID d'instance facultatif du profil à utiliser.
[in] aPathLen
Longueur (éventuellement 0) de la liste des éléments de chemin au-delà du spécificateur de profil initial.
[in] ...
Liste de longueur variable facultative des balises de chemin supplémentaires.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant l'impossibilité de mettre en forme le chemin d'accès donné.

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

Encodez un chemin WDM avec des tags obsolètes et un ID d'instance de chaîne.

Remarque:Encodez un chemin à l'aide de l'ensemble de balises obsolète (voir DMConstants.h). Cette version de la méthode utilise une chaîne d'ID d'instance. Cette méthode démarre un conteneur avec ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile), puis insère l'ID de profil avec ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated). Elle insère ensuite l'ID d'instance avec ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated). Il s'agit de l'une des versions obsolètes pour l'encodage d'un chemin d'accès, les nouvelles conceptions doivent éviter d'utiliser ce format.

Détails
Paramètres
[in] aWriter
Une référence au rédacteur TLV utilisée pour écrire le chemin.
[in] aTag
Référence au tag TLV complet qui s'applique à ce chemin.
[in] aProfileId
ID de profil sous lequel les éléments du chemin doivent être interprétés.
[in] aInstanceId
Chaîne facultative utilisée comme identifiant d'instance de profil. Cet argument peut être NULL si aucun ID d'instance n'est spécifié.
[in] aPathLen
Longueur (éventuellement 0) de la liste des éléments de chemin au-delà du spécificateur de profil initial.
[in] ...
Liste facultative de longueur variable des balises de chemin supplémentaires.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant l'impossibilité de mettre en forme le chemin d'accès donné.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

Encodez un chemin WDM avec un ID d'instance de profil entier.

Remarque:Écrivez un chemin TLV du type utilisé pour la gestion des données. En particulier, une désignation de profil a été placée au début pour permettre l'interprétation des éléments de chemin suivants. Cette version de la méthode utilise un ID d'instance de profil entier.

Cette méthode insère l'ID d'instance à l'aide de ContextTag(kTag_WDMPathProfileInstance), qui est la dernière version d'encodage d'un chemin d'accès.

Détails
Paramètres
[in] aWriter
Une référence au rédacteur TLV utilisée pour écrire le chemin.
[in] aTag
Référence au tag TLV complet qui s'applique à ce chemin.
[in] aProfileId
ID de profil sous lequel les éléments du chemin doivent être interprétés.
[in] aInstanceId
Référence à l'identifiant d'instance facultatif du profil à utiliser. Si aucun ID d'instance ne doit être utilisé, la valeur de ce paramètre doit être kInstanceIdNotSpecified.
[in] aPathLen
Longueur (éventuellement 0) de la liste des éléments de chemin au-delà du spécificateur de profil initial.
[in] ...
Liste de longueur variable facultative des balises de chemin supplémentaires.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant l'impossibilité de mettre en forme le chemin d'accès donné.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint32_t aInstanceIdLen,
  const uint8_t *aInstanceId,
  uint32_t aPathLen,
  ...
)

Encodez un chemin WDM avec un ID d'instance de tableau d'octets.

Remarque:Écrivez un chemin TLV du type utilisé pour la gestion des données. En particulier, une désignation de profil a été placée au début pour permettre l'interprétation des éléments de chemin suivants. Cette version de la méthode utilise un ID d'instance de profil de tableau d'octets ainsi qu'une longueur.

Cette méthode insère l'ID d'instance à l'aide de ContextTag(kTag_WDMPathProfileInstance), qui est la dernière version d'encodage d'un chemin d'accès.

Détails
Paramètres
[in] aWriter
Une référence au rédacteur TLV utilisée pour écrire le chemin.
[in] aTag
Référence au tag TLV complet qui s'applique à ce chemin.
[in] aProfileId
ID du profil sous lequel les éléments du chemin doivent être interprétés.
[in] aInstanceIdLen
Longueur du tableau d'octets constituant l'ID d'instance. En l'absence d'ID, ce paramètre doit avoir la valeur 0.
[in] aInstanceId
Tableau d'octets facultatif utilisé comme identifiant d'instance de profil. Cet argument peut être NULL si aucun ID d'instance n'est spécifié.
[in] aPathLen
Longueur (éventuellement 0) de la liste des éléments de chemin au-delà du spécificateur de profil initial.
[in] ...
Liste facultative de longueur variable des balises de chemin supplémentaires.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant l'impossibilité de mettre en forme le chemin d'accès donné.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

Encodez un chemin WDM avec un ID d'instance de chaîne.

Remarque:Écrivez un chemin TLV du type utilisé pour la gestion des données. En particulier, une désignation de profil a été placée au début pour permettre l'interprétation des éléments de chemin suivants. Cette version de la méthode utilise un ID d'instance de profil de chaîne.

Cette méthode insère l'ID d'instance à l'aide de ContextTag(kTag_WDMPathProfileInstance), qui est la dernière version d'encodage d'un chemin d'accès.

Détails
Paramètres
[in] aWriter
Une référence au rédacteur TLV utilisée pour écrire le chemin.
[in] aTag
Référence au tag TLV complet qui s'applique à ce chemin.
[in] aProfileId
ID de profil sous lequel les éléments du chemin doivent être interprétés.
[in] aInstanceId
Chaîne facultative utilisée comme identifiant d'instance de profil. Cet argument peut être NULL si aucun ID d'instance n'est spécifié.
[in] aPathLen
Longueur (éventuellement 0) de la liste des éléments de chemin au-delà du spécificateur de profil initial.
[in] ...
Liste facultative de longueur variable des balises de chemin supplémentaires.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant l'impossibilité de mettre en forme le chemin d'accès donné.

EndDataListElement

WEAVE_ERROR EndDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

Terminez l'écriture d'un élément de liste de données.

Écrivez la valeur TLV à la fin d'un élément de liste de données WDM. Notez que cela transmet automatiquement un type de kTLVType_Array à l'appel EndContainer() en supposant que nous fermons toujours un élément de liste.

Détails
Paramètres
[in] aWriter
Référence à un rédacteur TLV avec lequel écrire la fin de la vidéo.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez WEAVE_ERROR reflétant qu'il est impossible d'arrêter un conteneur.

EndEncodePath

WEAVE_ERROR EndEncodePath(
  TLVWriter & aWriter,
  TLVType & mOuterContainer,
  WEAVE_ERROR mError
)

EndList

WEAVE_ERROR EndList(
  nl::Weave::TLV::TLVWriter & aWriter
)

Terminez la création d'une liste de chemins d'accès ou de données.

Écrivez la valeur TLV à la fin d'un chemin d'accès WDM ou d'une liste de données. Enfin, finalisez l'écriture.

Détails
Paramètres
[in,out] aWriter
Une référence à un rédacteur TLV avec lequel écrire la fin de la liste.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez WEAVE_ERROR reflétant qu'il est impossible d'arrêter un conteneur.

EndList

WEAVE_ERROR EndList(
  ReferencedTLVData & aList,
  nl::Weave::TLV::TLVWriter & aWriter
)

Terminez la création d'une liste de chemins d'accès ou de données.

Écrivez la valeur TLV à la fin d'un chemin d'accès WDM ou d'une liste de données. Enfin, finalisez l'écriture. Dans ce cas, l'objet ReferencedTLVData dans lequel le TLV est écrit est transmis et modifié pour refléter la quantité de données écrites.

Détails
Paramètres
[in,out] aList
Référence à l'objet ReferenceTLVData dans lequel la liste a été écrite.
[in] aWriter
Une référence à un rédacteur TLV avec lequel écrire la fin de la liste.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez WEAVE_ERROR reflétant qu'il est impossible d'arrêter un conteneur.

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

Vérifiez si un ID de thème est propre à l'éditeur.

Détails
Paramètres
[in] aTopicId
un identifiant de sujet pour vérifier
Renvoie
"true" si l'ID du thème est propre à l'éditeur, "false" dans le cas contraire

OpenDataList

WEAVE_ERROR OpenDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVReader & aReader
)

Commencez à lire une liste de données.

À partir d'un nouveau lecteur et d'une liste de données, commencez à la lire, et validez les balises et les types initialement rencontrés au cours du processus. Si tout se passe bien, le lecteur s'arrête après la saisie du conteneur de liste.

Détails
Paramètres
[in] aDataList
Liste de données transmise en tant que référence à un objet ReferencedTLVData. Dans la plupart des cas, la liste se trouve toujours dans la mémoire tampon après sa réception.
[out] aReader
Référence à un lecteur TLV utilisé pour lire la liste des données. Ce lecteur sera dirigé vers la gauche juste avant le premier élément de la liste.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez WEAVE_ERROR reflétant un échec, l'ouverture de la liste des données et/ou la validation des types et des balises pertinents.

OpenDataListElement

WEAVE_ERROR OpenDataListElement(
  nl::Weave::TLV::TLVReader & aReader,
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t & aVersion
)

Commencez à lire un élément de liste de données.

Si le lecteur est placé au niveau d'un élément de la liste de données, commencez à lire l'élément, et validez les balises et les types rencontrés initialement au cours du processus. Si tout se passe bien, le lecteur finit par être positionné au niveau des données de l'élément de données et le lecteur du chemin d'entrée/de sortie est positionné au chemin correspondant.

Détails
Paramètres
[in] aReader
Référence à un lecteur TLV positionné au niveau d'un élément de la liste de données.
[out] aPathReader
Référence à un lecteur TLV à pointer vers le composant de chemin de l'élément de liste de données.
[out] aVersion
Référence à un entier de 64 bits à définir soit sur la version de l'élément de liste de données, le cas échéant, soit sur kVersionNotSpecified.
Renvoie
WEAVE_NO_ERROR en cas de réussite, ou WEAVE_ERROR associée à l'ouverture et à la lecture de l'élément de liste de données.

OpenPathList

WEAVE_ERROR OpenPathList(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVReader & aReader
)

Commencez à lire une liste de chemins.

À partir d'un nouveau lecteur et d'une liste de chemins, commencez à la lire, et validez les balises et les types initialement rencontrés au cours du processus. Si tout se passe bien, le lecteur s'arrête après la saisie du conteneur de liste.

Détails
Paramètres
[in] aPathList
Liste de chemins d'accès transmise en tant que référence à un objet ReferencedTLVData. Dans la plupart des cas, la liste se trouve toujours dans la mémoire tampon après sa réception.
[out] aReader
Référence à un lecteur TLV utilisé pour lire la liste des chemins. Ce lecteur pointe vers la gauche juste avant le premier chemin de la liste.
Renvoie
WEAVE_NO_ERROR en cas de réussite. Sinon, WEAVE_ERROR indique un échec, permet d'ouvrir la liste des chemins et/ou de valider les types et balises pertinents.

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

Générez entièrement un ID de thème spécifique à l'éditeur.

Détails
Renvoie
le nouvel identifiant du thème.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

WEAVE_ERROR StartDataList(
  nl::Weave::TLV::TLVWriter & aWriter
)

Commencez à rédiger une liste de données.

Écrivez la valeur TLV pour le début d'une liste de données WDM, par exemple en tant qu'argument principal de la méthode UpdateRequest().

Détails
Paramètres
[in] aWriter
Une référence à un auteur de contenu TLV avec lequel commencer à écrire.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez WEAVE_ERROR, ce qui indique qu'il est impossible de démarrer un conteneur.

StartDataList

WEAVE_ERROR StartDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVWriter & aWriter
)

Commencez à écrire une liste de données dans un objet ReferencedTLVData donné.

Écrivez la valeur TLV pour le début d'une liste de données WDM. Dans ce cas, nous supposons que la liste de données est écrite dans une structure de données TLV référencée. Le rédacteur est supposé n'avoir pas été initialisé et, dans tous les cas, il sera initialisé pour pointer vers l'objet donné.

Détails
Paramètres
[out] aDataList
Référence à un objet ReferencedTLVData qui doit être la cible de l'auteur et contenir à terme les données qui vous intéressent.
[in] aWriter
Une référence à un auteur de contenu TLV avec lequel commencer à écrire.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez WEAVE_ERROR, ce qui indique qu'il est impossible de démarrer un conteneur.

StartDataListElement

WEAVE_ERROR StartDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

Commencez à écrire un élément de liste de données.

Écrivez la valeur TLV pour le début d'un élément de liste de données WDM.

Détails
Paramètres
[in] aWriter
Une référence à un auteur de contenu TLV avec lequel commencer à écrire.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez WEAVE_ERROR, ce qui indique qu'il est impossible de démarrer un conteneur.

StartEncodePath

WEAVE_ERROR StartEncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  TLVType & mOuterContainer,
  TLVType & mPath
)

StartPathList

WEAVE_ERROR StartPathList(
  nl::Weave::TLV::TLVWriter & aWriter
)

Commencez à écrire une liste de chemins.

Écrivez le TLV pour le début d'une liste de chemins d'accès WDM, par exemple en tant qu'argument principal de ViewRequest().

Détails
Paramètres
[in] aWriter
Une référence à un auteur de contenu TLV avec lequel commencer à écrire.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez WEAVE_ERROR, ce qui indique qu'il est impossible de démarrer un conteneur.

TxnResponseHandler

void TxnResponseHandler(
  ExchangeContext *anExchangeCtx,
  const IPPacketInfo *anAddrInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

TxnTimeoutHandler

void TxnTimeoutHandler(
  ExchangeContext *anExchangeCtx
)

ValidateTLVType

WEAVE_ERROR ValidateTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

Vérifiez qu'un élément TLV en cours de lecture possède le type TLV attendu.

Comparez un type de TLV donné au type d'élément en tête d'un lecteur TLV et renvoyez une erreur en l'absence de correspondance.

Détails
Paramètres
[in] aType
TLVType à valider par rapport à un élément spécifique.
[in] aReader
Référence à un lecteur TLV positionné au niveau de l'élément à valider.
Renvoie
WEAVE_NO_ERROR en cas de correspondance ou WEAVE_ERROR_WRONG_TLV_TYPE dans le cas contraire.
Voir aussi:
WeaveTLVTypes.h

ValidateWDMTag

WEAVE_ERROR ValidateWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

Vérifiez qu'un élément TLV en cours de lecture possède la balise WDM attendue.

Détails
Paramètres
[in] aTagNum
Numéro de tag de 32 bits du tag WDM attendu.
[in] aReader
Lecteur TLV positionné au niveau de l'élément à valider.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, WEAVE_ERROR_INVALID_TLV_TAG si le tag ne correspond pas au numéro de tag donné lorsqu'il est interprété comme un tag WDM.