nl::Weave::Profiles::DataManagement_Current::TraitUpdatableDataSink

Podsumowanie

Dziedziczenie

Dziedziczy z:
  nl::Weave::Profiles::DataManagement_Current::TraitDataSink
  nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate

Konstruktory i niszczyciele

TraitUpdatableDataSink(const TraitSchemaEngine *aEngine)

Funkcje publiczne

ClearUpdated(SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle)
GetData(PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent) __OVERRIDE
virtual WEAVE_ERROR
Mając uchwyt ścieżki do węzła, zapis TLV i wartości logiczne wskazujące, czy wartość jest null czy nie, pobierz dane ze źródła cech, które spowodują utworzenie powiadomienia.
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)
Deklaruje, że dany element PropertyPathHandle ma lokalne modyfikacje.
Unlock(SubscriptionClient *apSubClient)
void

Funkcje publiczne

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

Mając uchwyt ścieżki do węzła, zapis TLV i wartości logiczne wskazujące, czy wartość jest null czy nie, pobierz dane ze źródła cech, które spowodują utworzenie powiadomienia.

Jeśli uchwyt ścieżki nie jest węzłem liścia, TDM obsługuje zapisywanie wartości w zapisiejącym (np. otwieranie kontenerów, nullowanie struktury itp.). Jeśli węzeł inny niż liść ma wartość null lub nie ma go wcale, TDM nie wywoła GetData w przypadku swoich elementów podrzędnych.

Ta funkcja jest wywoływana tylko w przypadku uchwytów, które dopuszczają wartość null, są opcjonalne, tymczasowe lub liczby liści. Oczekiwane jest to, że wszystkie cechy z nickami, w których te opcje są włączone, będą stosować odpowiednią logikę do wypełniania wartości aIsNull i aIsPresent.

Szczegóły
Parametry
[in] aHandle
Właściwość PropertyPathHandle, której dotyczy problem.
[in] aTagToWrite
Tag do zapisu dla elementu aHandle.
[in,out] aWriter
Zapisujący, do którego należy wpisać elementy TLV.
[out] aIsNull
Czy parametr aHandle ma wartość null? Jeśli tak, TDM zapisze element o wartości null. Jeśli aHandle nie jest liściem, TDM pominie jego elementy podrzędne.
[out] aIsPresent
Czy istnieje element aHandle? Jeśli nie, a jeśli aHandle nie jest liściem, TDM pominie ścieżkę i jej elementy podrzędne.
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
other
Nie udało się pobrać danych i zapisać ich u autora.

GetSubscriptionClient

virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE

GetUpdateEncoder

virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE

IsUpdatableDataSink

virtual bool IsUpdatableDataSink(
  void
) __OVERRIDE

Zablokuj

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
)

Deklaruje, że dany element PropertyPathHandle ma lokalne modyfikacje.

Usługa NotificationEngine nie zastąpi nicka ani jego elementów podrzędnych do czasu przetworzenia żądania aktualizacji. W wyniku operacji aktualizacji aplikacja otrzyma wywołania zwrotne kEvent_OnUpdateComplete dla tego uchwytu lub jednego z jego elementów nadrzędnych. Modyfikacja może być warunkowa lub nie. Warunkowe aktualizacje danych zostaną utracone, jeśli lokalna kopia instancji cech nie będzie już zsynchronizowana z kontem wydawcy, ponieważ została zmutowana przez wydawcę lub innego klienta. W tej samej instancji cech nie są obsługiwane jednocześnie mutacje warunkowe i bezwarunkowe.

Szczegóły
Parametry
[in] apSubClient
Wskaźnik do obiektu SubscriptionClient zarządzający tym ujściem.
[in] aPropertyHandle
Dowolny prawidłowy element PropertyPathHandle dla tej instancji Trait.
[in] aIsConditional
Prawda w przypadku aktualizacji warunkowej; w przeciwnym razie ma wartość false.
Zwracane wartości
WEAVE_NO_ERROR
jeśli uchwyt właściwości został dodany do zestawu właściwości wysyłanych do właściciela cechy.
WEAVE_ERROR_INVALID_ARGUMENT
jeśli nick lub wskaźnik SubscriptionClient są nieprawidłowe.
WEAVE_ERROR_WDM_INCONSISTENT_CONDITIONALITY
jeśli instancja właściwości jest już aktualizowana na podstawie odwrotnego warunku.
WEAVE_ERROR_WDM_LOCAL_DATA_INCONSISTENT
jeśli aIsConditional ma wartość prawda, ale instancja trait nie ma prawidłowej wersji.
WEAVE_ERROR_WDM_PATH_STORE_FULL
jeśli brak pamięci do zapisania ścieżki.
Other
Kody WEAVE_ERROR w zależności od błędu.

TraitUpdatableDataSink

 TraitUpdatableDataSink(
  const TraitSchemaEngine *aEngine
)

Odblokuj

void Unlock(
  SubscriptionClient *apSubClient
)