nl:: Weave:: Profiles:: DataManagement_Current:: TraitUpdatableDataSink
Résumé
Héritage
Hérite de:nl::Weave::Profiles::DataManagement_Current::TraitDataSink
nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate
Constructeurs et destructeurs |
|
---|---|
TraitUpdatableDataSink(const TraitSchemaEngine *aEngine)
|
Fonctions publiques |
|
---|---|
ClearUpdated(SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle)
|
|
GetData(PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent) __OVERRIDE
|
virtual WEAVE_ERROR
À partir d'un handle de chemin vers un nœud, d'un rédacteur TLV et de valeurs booléennes indiquant si la valeur est nulle ou non présente, récupérez les données à partir de la source de la caractéristique qui créera une notification.
|
GetSubscriptionClient() __OVERRIDE
|
virtual SubscriptionClient *
|
GetUpdateEncoder() __OVERRIDE
|
virtual UpdateEncoder *
|
IsUpdatableDataSink(void) __OVERRIDE
|
virtual bool
|
Lock(SubscriptionClient *apSubClient)
|
void
|
ReadData(TraitDataHandle aTraitDataHandle, PropertyPathHandle aHandle, uint64_t aTagToWrite, TLV::TLVWriter & aWriter, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom)
|
|
SetSubscriptionClient(SubscriptionClient *apSubClient) __OVERRIDE
|
virtual WEAVE_ERROR
|
SetUpdateEncoder(UpdateEncoder *apEncoder) __OVERRIDE
|
virtual WEAVE_ERROR
|
SetUpdated(SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle, bool aIsConditional)
|
Indique que le PropertyPathHandle donné comporte des modifications locales.
|
Unlock(SubscriptionClient *apSubClient)
|
void
|
Fonctions publiques
ClearUpdated
WEAVE_ERROR ClearUpdated( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle )
GetData
virtual WEAVE_ERROR GetData( PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent ) __OVERRIDE
À partir d'un handle de chemin vers un nœud, d'un rédacteur TLV et de valeurs booléennes indiquant si la valeur est nulle ou non présente, récupérez les données à partir de la source de la caractéristique qui créera une notification.
Si le handle de chemin d'accès n'est pas un nœud feuille, TDM gère l'écriture des valeurs dans le rédacteur (comme l'ouverture des conteneurs, la nullité du struct, etc.). Si un nœud non-feuille est nul ou absent, TDM n'appelle pas GetData pour ses enfants.
Cette fonction ne sera appelée que pour les identifiants pouvant avoir une valeur nulle, facultatifs, éphémères ou feuilles. L'objectif est que toute caractéristique avec des identifiants pour lesquels ces options sont activées implémentent la logique appropriée pour renseigner les champs aIsNull et aIsPresent.
Détails | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||
Valeurs renvoyées |
|
GetSubscriptionClient
virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE
GetUpdateEncoder
virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE
IsUpdatableDataSink
virtual bool IsUpdatableDataSink( void ) __OVERRIDE
Verrouiller
void Lock( SubscriptionClient *apSubClient )
ReadData
WEAVE_ERROR ReadData( TraitDataHandle aTraitDataHandle, PropertyPathHandle aHandle, uint64_t aTagToWrite, TLV::TLVWriter & aWriter, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom )
SetSubscriptionClient
virtual WEAVE_ERROR SetSubscriptionClient( SubscriptionClient *apSubClient ) __OVERRIDE
SetUpdateEncoder
virtual WEAVE_ERROR SetUpdateEncoder( UpdateEncoder *apEncoder ) __OVERRIDE
SetUpdated
WEAVE_ERROR SetUpdated( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle, bool aIsConditional )
Indique que le PropertyPathHandle donné comporte des modifications locales.
NotificationEngine ne remplacera pas le handle et ses descendants tant que la requête de mise à jour n'aura pas été traitée. L'application recevra des rappels kEvent_OnUpdateComplete pour ce handle ou pour l'un de ses ancêtres avec le résultat de l'opération de mise à jour. La modification peut être conditionnelle ou non. Les mises à jour de données conditionnelles seront perdues si la copie locale de l'instance de caractéristique n'est plus synchronisée avec celle de l'éditeur, car elle a été modifiée par l'éditeur lui-même ou par un autre client. Les mutations conditionnelles et inconditionnelles ne sont pas acceptées en même temps dans la même instance de caractéristique.
Détails | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||||
Valeurs renvoyées |
|