nl :: Tecer:: Perfis :: DataManagement_Current :: TraitUpdatableDataSink

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
Dada uma alça caminho para um nó, um TLV escritor, e booleans indicando se o valor é nulo ou não presente, obter os dados da fonte de traço que vai construir uma notificar.
GetSubscriptionClient () __OVERRIDE
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
)

Adquirir dados

virtual WEAVE_ERROR GetData(
  PropertyPathHandle aHandle,
  uint64_t aTagToWrite,
  nl::Weave::TLV::TLVWriter & aWriter,
  bool & aIsNull,
  bool & aIsPresent
) __OVERRIDE

Dada uma alça caminho para um nó, um TLV escritor, e booleans indicando se o valor é nulo ou não presente, obter os dados da fonte de traço que vai construir uma notificar.

Se o identificador de caminho não for um nó folha, o TDM tratará da gravação de valores para o gravador (como abrir contêineres, anular a estrutura, etc.) Se um nó não folha for nulo ou não estiver presente, o TDM não chamará GetData para seus filhos.

Essa função só será chamada para identificadores que podem ser anulados, opcionais, efêmeros ou folhas. A expectativa é que quaisquer características com identificadores que tenham essas opções ativadas implementem a lógica apropriada para preencher aIsNull e aIsPresent.

Detalhes
Parâmetros
[in] aHandle
O PropertyPathHandle em questão.
[in] aTagToWrite
A tag a ser escrita para o aHandle.
[in,out] aWriter
O escritor para escrever TLV elementos para.
[out] aIsNull
O aHandle foi anulado? Se sim, o TDM gravará um elemento nulo. Se aHandle não for uma folha, o TDM ignorará seus filhos.
[out] aIsPresent
AHandle está presente? Se não e se aHandle não for uma folha, o TDM ignorará o caminho e seus filhos.
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.
other
Não foi possível recuperar dados e gravá-los no gravador.

GetSubscriptionClient

virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE

GetUpdateEncoder

virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE

IsUpdatableDataSink

virtual bool IsUpdatableDataSink(
  void
) __OVERRIDE

Trancar

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 irá substituir o cabo e seus descendentes até a solicitação de atualização foi processada. O aplicativo receberá callbacks kEvent_OnUpdateComplete para este 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 do trait não estiver mais em sincronia com a do editor porque foi alterada pelo próprio editor ou por outro cliente. Mutações condicionais e incondicionais não são suportadas ao mesmo tempo na mesma instância de característica.

Detalhes
Parâmetros
[in] apSubClient
Um ponteiro para o SubscriptionClient gestão deste pia.
[in] aPropertyHandle
Qualquer PropertyPathHandle válido para esta instância de Trait.
[in] aIsConditional
Verdadeiro para uma atualização condicional; caso contrário, false.
Valores Retornados
WEAVE_NO_ERROR
se o identificador de propriedade foi adicionado com sucesso ao conjunto de propriedades a serem enviadas ao proprietário da característica.
WEAVE_ERROR_INVALID_ARGUMENT
Se a pega ou o SubscriptionClient ponteiro são inválidos.
WEAVE_ERROR_WDM_INCONSISTENT_CONDITIONALITY
se a instância do trait já estiver sendo atualizada com a condicionalidade oposta.
WEAVE_ERROR_WDM_LOCAL_DATA_INCONSISTENT
se aIsConditional for true, mas a instância do trait não tiver uma versão válida.
WEAVE_ERROR_WDM_PATH_STORE_FULL
se não houver memória para armazenar o caminho.
Other
Códigos WEAVE_ERROR dependendo da falha.

TraitUpdatableDataSink

 TraitUpdatableDataSink(
  const TraitSchemaEngine *aEngine
)

Desbloquear

void Unlock(
  SubscriptionClient *apSubClient
)