nl::Weave::Profiles::DataManagement_Current::TraitUpdatableDataSink
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Resumo
Herança
Herda de:nl::Weave::Profiles::DataManagement_Current::TraitDataSink
nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate
Construtores e destruidores |
|
---|---|
TraitUpdatableDataSink(const TraitSchemaEngine *aEngine)
|
Funções 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
Com um identificador de caminho para um nó, um gravador TLV e booleanos que indicam se o valor é nulo ou não está presente, extraia os dados da origem da característica que vai criar uma notificação.
|
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 o PropertyPathHandle fornecido tem modificações locais.
|
Unlock(SubscriptionClient *apSubClient)
|
void
|
Funções 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
Com um identificador de caminho para um nó, um gravador TLV e booleanos que indicam se o valor é nulo ou não está presente, extraia os dados da origem da característica que vai criar uma notificação.
Se o identificador do caminho não for um nó de folha, o TDM processará os valores de gravação no gravador (como abrir contêineres, anular o struct etc.). Se um nó que não for uma folha for nulo ou ausente, o TDM não chamará GetData para os filhos.
Essa função só será chamada para identificadores anuláveis, opcionais, efêmeros ou folhas. Espera-se que as características com identificadores que tenham essas opções ativadas implementarão a lógica apropriada para preencher aIsNull e aIsPresent.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Valores de retorno |
|
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 o PropertyPathHandle fornecido tem modificações locais.
O NotificationEngine não modificará o identificador e os descendentes até que a solicitação de atualização seja processada. O aplicativo receberá callbacks kEvent_OnUpdateComplete para esse identificador ou para um de seus ancestrais com o resultado da operação de atualização. A modificação pode ser condicional ou não. As atualizações de dados condicionais serão perdidas se a cópia local da instância de característica não estiver mais sincronizada com a do editor porque foi modificada pelo próprio editor ou por outro cliente. Mutações condicionais e incondicionais não são aceitas ao mesmo tempo na mesma instância de característica.
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||
Valores de retorno |
|