nl:: Weave:: Profiles:: DataManagement_Current:: TraitUpdatableDataSink
Resumen
Herencia
Hereda de:nl::Weave::Profiles::DataManagement_Current::TraitDataSink
nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate
Constructores y destructores |
|
---|---|
TraitUpdatableDataSink(const TraitSchemaEngine *aEngine)
|
Funciones públicas |
|
---|---|
ClearUpdated(SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle)
|
|
GetData(PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent) __OVERRIDE
|
virtual WEAVE_ERROR
Con un controlador de ruta de acceso a un nodo, un escritor TLV y valores booleanos que indican si el valor es nulo o no está presente, obtén los datos de la fuente de trait que compilará una notificación.
|
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)
|
Declara que el objeto PropertyPathHandle determinado tiene modificaciones locales.
|
Unlock(SubscriptionClient *apSubClient)
|
void
|
Funciones públicas
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
Con un controlador de ruta de acceso a un nodo, un escritor TLV y valores booleanos que indican si el valor es nulo o no está presente, obtén los datos de la fuente de trait que compilará una notificación.
Si el controlador de la ruta de acceso no es un nodo de hoja, TDM se encargará de escribir valores en el escritor (como abrir contenedores, anular la struct, etcétera). Si un nodo que no es de hoja es nulo o no está presente, TDM no llamará a GetData para sus elementos secundarios.
Solo se llamará a esta función para controladores que sean anulables, opcionales, efímeros o de hojas. Se espera que cualquier característica con controladores que tenga esas opciones habilitadas implemente la lógica adecuada para propagar aIsNull y aIsPresent.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||
Valores que se muestran |
|
GetSubscriptionClient
virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE
GetUpdateEncoder
virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE
IsUpdatableDataSink
virtual bool IsUpdatableDataSink( void ) __OVERRIDE
Bloquear
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 )
Declara que el objeto PropertyPathHandle determinado tiene modificaciones locales.
NotificationEngine no anulará el controlador ni sus subordinados hasta que se procese la solicitud de actualización. La aplicación recibirá devoluciones de llamada kEvent_OnUpdateComplete para este controlador o para uno de sus principales con el resultado de la operación de actualización. La modificación puede ser condicional o no. Las actualizaciones de datos condicionales se perderán si la copia local de la instancia de trait ya no está sincronizada con la del publicador porque fue modificada por el mismo publicador o por otro cliente. Las mutaciones condicionales y no condicionales no se admiten al mismo tiempo en la misma instancia de trait.
Detalles | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||
Valores que se muestran |
|