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
[in] aHandle
La PropertyPathHandle en cuestión.
[in] aTagToWrite
Es la etiqueta que se escribirá para el aHandle.
[in,out] aWriter
Escritor en el que se escriben los elementos TLV.
[out] aIsNull
¿AHandle está anulado? Si es así, TDM escribirá un elemento nulo. Si unIdentificador no es una hoja, el TDM omitirá sus elementos secundarios.
[out] aIsPresent
¿AHandle está presente? De lo contrario, y si aHandle no es una hoja, TDM omitirá la ruta y sus elementos secundarios.
Valores que se muestran
WEAVE_NO_ERROR
Si la operación es exitosa.
other
No se pudieron recuperar los datos ni escribirlos en el escritor.

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
[in] apSubClient
Un puntero para el SubscriptionClient que administra este receptor.
[in] aPropertyHandle
Cualquier PropertyPathHandle válido para esta instancia de Trait.
[in] aIsConditional
Verdadero para una actualización condicional; de lo contrario, es falso.
Valores que se muestran
WEAVE_NO_ERROR
Si el identificador de la propiedad se agregó correctamente al conjunto de propiedades que se enviarán al propietario de la característica.
WEAVE_ERROR_INVALID_ARGUMENT
Si el controlador o el puntero SubscriptionClient no son válidos.
WEAVE_ERROR_WDM_INCONSISTENT_CONDITIONALITY
si la instancia de trait ya se está actualizando con la condicionalidad opuesta.
WEAVE_ERROR_WDM_LOCAL_DATA_INCONSISTENT
si aIsCondicional es verdadero, pero la instancia de trait no tiene una versión válida.
WEAVE_ERROR_WDM_PATH_STORE_FULL
si no hay memoria para almacenar la ruta de acceso.
Other
códigos WEAVE_ERROR según la falla.

TraitUpdatableDataSink

 TraitUpdatableDataSink(
  const TraitSchemaEngine *aEngine
)

Desbloquear

void Unlock(
  SubscriptionClient *apSubClient
)