nl:: Weave:: Profiles:: DataManagement_Current:: TraitUpdatableDataSink
Riepilogo
Eredità
Eredita da:nl::Weave::Profiles::DataManagement_Current::TraitDataSink
nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate
Costruttori e distruttori |
|
---|---|
TraitUpdatableDataSink(const TraitSchemaEngine *aEngine)
|
Funzioni pubbliche |
|
---|---|
ClearUpdated(SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle)
|
|
GetData(PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent) __OVERRIDE
|
virtual WEAVE_ERROR
Dati l'handle di un percorso verso un nodo, un writer TLV e i valori booleani che indicano se il valore è nullo o meno, ricevono i dati dall'origine del trait che creerà una notifica.
|
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)
|
Dichiara che l'elemento PropertyPathHandle specificato presenta modifiche locali.
|
Unlock(SubscriptionClient *apSubClient)
|
void
|
Funzioni pubbliche
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
Dati l'handle di un percorso verso un nodo, un writer TLV e i valori booleani che indicano se il valore è nullo o meno, ricevono i dati dall'origine del trait che creerà una notifica.
Se l'handle del percorso non è un nodo foglia, TDM gestirà la scrittura dei valori nell'autore (ad esempio, l'apertura di container, l'annullamento dello struct e così via). Se un nodo non foglia è nullo o non è presente, TDM non chiamerà GetData per i relativi elementi figlio.
Questa funzione verrà richiamata solo per gli handle che sono annullabili, facoltativi, temporanei o foglia. Tutti i trait con handle in cui sono abilitate queste opzioni implementeranno una logica appropriata per compilare aIsNull e aIsPresent.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||
Valori restituiti |
|
GetSubscriptionClient
virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE
GetUpdateEncoder
virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE
IsUpdatableDataSink
virtual bool IsUpdatableDataSink( void ) __OVERRIDE
Blocca
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 )
Dichiara che l'elemento PropertyPathHandle specificato presenta modifiche locali.
NotificationEngine non eseguirà l'override dell'handle e dei relativi discendenti finché la richiesta di aggiornamento non è stata elaborata. L'applicazione riceverà i callback kEvent_OnUpdateComplete per questo handle o per uno dei suoi predecessori con il risultato dell'operazione di aggiornamento. La modifica può essere condizionale o meno. Gli aggiornamenti condizionali dei dati andranno persi se la copia locale dell'istanza del trait non è più sincronizzata con quella dell'editore perché è stata mutata dal publisher stesso o da un altro client. Le mutazioni condizionali e incondizionate non sono supportate contemporaneamente nella stessa istanza di tratto.
Dettagli | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||
Valori restituiti |
|