nl::Weave::Profiles::DataManagement_Legacy

Cet espace de noms inclut toutes les interfaces de Weave pour le profil Weave Data Management (WDM) qui sont sur le point d'être 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
}
énum
@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
}
énum
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
}
énum
Types de messages du profil WDM.
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
énum
Diverses constantes 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
}
énum
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
}
énum
les tags de protocole de gestion des données.
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
énum
ID de sujet distingué.
WeaveTransportOption{
  kTransport_TCP = 1,
  kTransport_WRMP = 2,
  kTransport_UDP = 3
}
énum
Options de transport WDM

Typedefs

TopicIdentifier typedef
uint64_t
Identifiant du thème.

Fonctions

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
Vérifiez qu'un élément TLV en cours de lecture présente le type TLV attendu.
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
Cochez un tag spécifique à WDM.
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
Arrête 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 WDM ou d'une liste de données.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Encodez un chemin WDM à l'aide de tags obsolètes et d'un ID d'instance sous forme de nombre 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 sous forme d'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 l'écriture d'une liste de chemins d'accès ou d'une liste de données.
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
Terminez l'écriture d'une liste de chemins d'accès ou d'une liste de données.
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
Vérifiez si un ID de thème est spécifique à un é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 de zéro un ID de sujet propre à l'éditeur.
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
Commencez à écrire 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 d'accès.
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

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 à une application.

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

Classe de base abstraite pour les éditeurs WDM spécifiques aux applications.

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

La classe auxiliaire abstraite ProfileDatabase.

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 demande la 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 demande la 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 demande l'é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 requête d'écriture d'un élément de données particulier n'est pas autorisé à le faire.

kStatus_InvalidPath

Cet ancien code d'état signifie qu'un chemin 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épondant.

Ce code d'état signifie qu'un chemin 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épondant.

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 sur 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 sur l'éditeur. La mise à jour n'a donc pas pu être appliquée.

kStatus_UnknownTopic

Cet ancien code d'état signifie que l'identifiant de 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 de 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 divers pools et tables nécessaires à son fonctionnement, comme suit.

Pools de transactions client:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

Pools de transactions d'éditeur:

  • kNotifyPoolSize

Tables du moteur de protocoles:

  • kTransactionTableSize
  • kBindingTableSize

Tables relatives aux abonnements:

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

Notez qu'il s'agit de quantités 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 de la table 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 des demandes 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 du tableau des notifications 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 des demandes 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 de la table des transactions dans le moteur de protocoles 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ête 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ête d'affichage pour un client WDM.

Cette valeur peut être configurée via WEAVE_CONFIG_WDM_VIEW_POOL_SIZE.

@167

 @167

Types de messages du profil WDM.

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

REMARQUE ! Depuis le premier trimestre 2015, les types de messages utilisés dans les versions précédentes de WDM sont obsolètes et de nouveaux types de messages ont été définis, ce qui reflète une modification suffisante avec les détails antérieurs de package et d'analyse pour justifier une interruption de service.

Propriétés
kMsgType_CancelSubscriptionRequest

Message de demande d'annulation d'abonnement.

kMsgType_CancelSubscriptionRequest_Deprecated

obsolète

kMsgType_NotifyRequest

Envoyer le 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

Modifier le message de demande.

kMsgType_UpdateRequest_Deprecated

obsolète

kMsgType_ViewRequest

Afficher le message de requête.

kMsgType_ViewRequest_Deprecated

obsolète

kMsgType_ViewResponse

Afficher le message de réponse.

kMsgType_ViewResponse_Deprecated

obsolète

@168

 @168

Diverses constantes spécifiques à WDM.

Propriétés
kDefaultBindingTableIndex

Index de la liaison par défaut dans une table de liaison de moteur de protocole comportant plusieurs entrées.

kInstanceIdNotSpecified

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

Cela signifie généralement 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 acceptent un ID de transaction, indique "none" (aucun). ou une valeur de caractère générique.

kVersionNotSpecified

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

kWeaveTLVControlByteLen

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

kWeaveTLVTagLen

Longueur standard en octets d'un tag TLV complet, utilisée dans les méthodes d'assistance 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 demande la 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 demande la 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 demande l'é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 requête d'écriture d'un élément de données particulier n'est pas autorisé à le faire.

kStatus_InvalidPath

Cet ancien code d'état signifie qu'un chemin 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épondant.

Ce code d'état signifie qu'un chemin 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épondant.

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 sur 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 sur l'éditeur. La mise à jour n'a donc pas pu être appliquée.

kStatus_UnknownTopic

Cet ancien code d'état signifie que l'identifiant de 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 de 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

les tags de 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 et l'ancien WDM. Auparavant, tous ces tags étaient appliqués comme spécifiques à un profil, ce qui demandait beaucoup d'espace. Nous utilisons désormais des tags de contexte lorsque cela est possible, mais nous devons conserver les anciens à portée de main (et disposer d'un mécanisme d'encodage des chemins avec ces tags), 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. Il n'est donc pas nécessaire 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 tag: type d'élément spécifique au profil: tableau Disposition: premier niveau

kTag_WDMDataListElementData

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

Type de tag: Type d'élément spécifique au contexte: Toutes disposition: obligatoire

kTag_WDMDataListElementData_Deprecated

Obsolète.

Type de tag: Type d'élément spécifique au contexte: Toutes disposition: obligatoire

kTag_WDMDataListElementPath

L'élément correspond au chemin d'accès d'un élément de liste de données.

Type de balise: Type d'élément spécifique au contexte: disposition du chemin: obligatoire

kTag_WDMDataListElementPath_Deprecated

Obsolète.

Type de tag: Type d'élément spécifique au profil: disposition du chemin: obligatoire

kTag_WDMDataListElementVersion

L'élément est le composant 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 tag: spécifique au profil Type d'élément: entier Disposition: obligatoire

kTag_WDMPathArrayIndexSelector

L'élément de chemin d'accès correspond à un tableau du schéma, et l'élément d'entier contenu doit être utilisé comme index dans ce tableau.

Type de tag: type d'élément spécifique au profil: nombre entier Disposition: facultatif

kTag_WDMPathArrayValueSelector

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

Type de tag: Type d'élément spécifique au profil: Structure Disposition: facultatif

kTag_WDMPathList

L'élément est une liste de chemins d'accès TLV.

Type de tag: type d'élément spécifique au profil: tableau Disposition: premier niveau

kTag_WDMPathProfile

L'élément est une structure utilisée pour commencer un chemin et contient les informations de profil au vu desquelles les balises du chemin doivent être interprétées.

Type de tag: Type d'élément spécifique au profil: Structure Disposition: obligatoire

kTag_WDMPathProfileId

Il s'agit d'un composant ID de profil de l'élément de profil de chemin qui commence par un chemin TLV.

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

kTag_WDMPathProfileId_Deprecated

Obsolète.

Type de tag: 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 d'accès TLV.

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

Type de tag: Type d'élément spécifique au contexte: N'importe quelle disposition: facultatif

kTag_WDMPathProfileInstance_Deprecated

Obsolète.

Type de tag: Type d'élément spécifique au profil: Toute disposition: facultatif

@171

 @171

ID de sujet distingué.

Il existe trois ID de thèmes distincts qui vous intéressent. Ils sont tous trois au format "spécifique à l'éditeur".

Propriétés
kAnyTopicId

Il s'agit d'un identifiant de sujet à caractère générique.

kTopicIdNotSpecified

Cette valeur spéciale permet d'exprimer un ID de sujet non valide ou générique.

kTopicIdPublisherSpecificMask

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

WeaveTransportOption

 WeaveTransportOption

Options de transport WDM

Ces options de transport s'excluent mutuellement pour WDM.

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 la "couche de prise en charge des applications" et améliorer la fiabilité.

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 être utilisés comme un raccourci conventionnel pour un ensemble connu de chemins, par exemple la "Détecteur de fumée Nest". Les ID de sujet utilisés de cette manière, comme les identifiants de profil, doivent contenir un code fournisseur qui empêche les ID de sujet choisis de manière autonome par des fournisseurs disparates d'entrer en conflit, comme suit:

bits 48 à 63 bits 0 à 47
ID fournisseur Numéro du thème
La deuxième 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 identifiant de sujet unique correspondant à l'abonnement spécifique, que l'abonnement ait été demandé à l'aide d'un identifiant de sujet connu ou d'une liste de chemins d'accès arbitraire. Les identifiants de sujet de ce formulaire se distinguent par le code fournisseur 0xFFFF.

Voir aussi:
WeaveVendorIdentifiers.hpp

Fonctions

CheckTLVType

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

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

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

Détails
Paramètres
[in] aType
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
"true" si le TLVType de l'élément et aType correspondent.
Voir aussi:
WeaveTLVTypes.h

CheckWDMTag

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

Cochez un tag spécifique à WDM.

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

Détails
Paramètres
[in] aTagNum
Numéro de balise à comparer à 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 formats de tag attendus pour le numéro de tag donné.

CloseDataListElement

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

Arrête 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 qu'il transmet donc kTLVType_Array à SortContainer().

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

CloseList

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

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

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

Détails
Paramètres
[in,out] aReader
Un lecteur TLV placé dans un chemin d'accès WDM ou une liste de données
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant l'impossibilité 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 à l'aide de tags obsolètes et d'un ID d'instance sous forme de nombre entier.

Remarque:Encodez un chemin à l'aide du jeu de tags obsolètes accepté par le service avant la version 2.0 de Weave. Cette version de la méthode utilise un identifiant d'instance numérique. 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). Il 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 tracé. Les nouvelles conceptions doivent éviter d'utiliser ce format.

Détails
Paramètres
[in] aWriter
Référence au rédacteur TLV utilisé pour écrire le chemin d'accès.
[in] aTag
Référence au tag TLV complet qui s'applique à ce chemin d'accès.
[in] aProfileId
Identifiant du profil sous lequel les éléments du chemin d'accès 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 facultative (de longueur variable) des balises de chemin d'accès supplémentaires.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant une incapacité à mettre en forme le chemin 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 tags 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). Il 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 tracé. Les nouvelles conceptions doivent éviter d'utiliser ce format.

Détails
Paramètres
[in] aWriter
Référence au rédacteur TLV utilisé pour écrire le chemin d'accès.
[in] aTag
Référence au tag TLV complet qui s'applique à ce chemin d'accès.
[in] aProfileId
Identifiant du profil sous lequel les éléments du chemin d'accès 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 balises de chemin d'accès de longueur variable.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant une incapacité à mettre en forme le chemin 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 sous forme d'entier.

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

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

Détails
Paramètres
[in] aWriter
Référence au rédacteur TLV utilisé pour écrire le chemin d'accès.
[in] aTag
Référence au tag TLV complet qui s'applique à ce chemin d'accès.
[in] aProfileId
Identifiant du profil sous lequel les éléments du chemin d'accès 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 facultative (de longueur variable) des balises de chemin d'accès supplémentaires.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant une incapacité à mettre en forme le chemin 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 d'accès TLV du type utilisé pour la gestion des données, en particulier une désignation de profil placée au début afin de 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 version la plus récente pour encoder un chemin d'accès.

Détails
Paramètres
[in] aWriter
Référence au rédacteur TLV utilisé pour écrire le chemin d'accès.
[in] aTag
Référence au tag TLV complet qui s'applique à ce chemin d'accès.
[in] aProfileId
Identifiant du profil sous lequel les éléments du chemin doivent être interprétés.
[in] aInstanceIdLen
Longueur du tableau d'octets qui constitue l'ID d'instance. En l'absence d'identifiant, 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 balises de chemin d'accès de longueur variable.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant une incapacité à mettre en forme le chemin 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 d'accès TLV du type utilisé pour la gestion des données, en particulier une désignation de profil placée au début afin de 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 version la plus récente pour encoder un chemin d'accès.

Détails
Paramètres
[in] aWriter
Référence au rédacteur TLV utilisé pour écrire le chemin d'accès.
[in] aTag
Référence au tag TLV complet qui s'applique à ce chemin d'accès.
[in] aProfileId
Identifiant du profil sous lequel les éléments du chemin d'accès 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 balises de chemin d'accès de longueur variable.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant une incapacité à mettre en forme le chemin 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 pour 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 l'élément.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant l'impossibilité de mettre fin à un conteneur.

EndEncodePath

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

EndList

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

Terminez l'écriture d'une liste de chemins d'accès ou d'une liste de données.

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

Détails
Paramètres
[in,out] aWriter
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 une erreur WEAVE_ERROR reflétant l'impossibilité de mettre fin à un conteneur.

EndList

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

Terminez l'écriture d'une liste de chemins d'accès ou d'une liste de données.

Écrivez la valeur TLV à la fin d'un chemin d'accès WDM ou d'une liste de données. Finalisez également l'écriture. Dans ce cas, l'objet ReferencedTLVData dans lequel la valeur TLV est écrite 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 était écrite.
[in] aWriter
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 une erreur WEAVE_ERROR reflétant l'impossibilité de mettre fin à un conteneur.

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

Vérifiez si un ID de thème est spécifique à un éditeur.

Détails
Paramètres
[in] aTopicId
un identifiant de sujet pour vérifier
Renvoie
"true" si l'ID du sujet est spécifique à 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 à lire la liste et validez les balises et les types initialement rencontrés au cours du processus. Si tout se passe comme prévu, le lecteur s'arrête après avoir saisi le conteneur de liste.

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

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.

À partir d'un lecteur positionné sur un élément de la liste de données, commencez à lire l'élément et validez les balises et les types initialement rencontrés au cours du processus. Si tout se passe comme prévu, le lecteur est positionné au niveau des données des éléments de données, et le lecteur de chemin d'entrée et de sortie est positionné sur le tracé correspondant.

Détails
Paramètres
[in] aReader
Référence à un lecteur TLV positionné sur un élément de liste de données.
[out] aPathReader
Référence à un lecteur TLV à pointer vers le composant de chemin d'accès de l'élément de liste de données.
[out] aVersion
Référence à un entier 64 bits à définir soit sur la version de l'élément de la liste de données, le cas échéant, soit sur kVersionNotSpecified.
Renvoie
WEAVE_NO_ERROR en cas de réussite ou WEAVE_ERROR associé à l'ouverture et à la lecture de l'élément de la 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 d'accès, commencez à lire la liste et validez les balises et les types initialement rencontrés au cours du processus. Si tout se passe comme prévu, le lecteur s'arrête après avoir saisi le 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 le cas d'utilisation normal, la liste est toujours dans un tampon après sa réception.
[out] aReader
Référence à un lecteur TLV utilisé pour lire la liste des chemins d'accès. Ce lecteur pointera à gauche juste avant le premier chemin de la liste.
Renvoie
WEAVE_NO_ERROR en cas de réussite ; Sinon, une erreur WEAVE_ERROR reflétant un échec lors de l'ouverture de la liste des chemins et/ou de la validation des tags et types pertinents.

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

Générez de zéro un ID de sujet propre à l'éditeur.

Détails
Renvoie
le nouvel identifiant du sujet.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

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

Commencez à écrire une liste de données.

Saisissez la valeur TLV au début d'une liste de données WDM, par exemple comme argument principal d'une UpdateRequest().

Détails
Paramètres
[in] aWriter
Référence à un auteur TLV avec lequel commencer à écrire.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant l'impossibilité 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 le TLV au début d'une liste de données WDM. Dans ce cas, nous supposons que nous écrivons la liste de données dans une structure de données TLV référencée. Le rédacteur est supposé être non initialisé ou, dans tous les cas, 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 qui contiendra à terme les données qui vous intéressent.
[in] aWriter
Référence à un auteur TLV avec lequel commencer à écrire.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant l'impossibilité 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 le TLV pour le début d'un élément de liste de données WDM.

Détails
Paramètres
[in] aWriter
Référence à un auteur TLV avec lequel commencer à écrire.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant l'impossibilité 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 d'accès.

Écrivez le TLV au début d'une liste de chemins d'accès WDM, par exemple comme argument principal d'un ViewRequest().

Détails
Paramètres
[in] aWriter
Référence à un auteur TLV avec lequel commencer à écrire.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez une erreur WEAVE_ERROR reflétant l'impossibilité 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 s'il existe une 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 32 bits du tag WDM attendu.
[in] aReader
Un 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.