нл:: Переплетение:: Профили:: DataManagement_Current:: TraitUpdatableDataSink
Краткое содержание
Наследование
Наследуется от:nl::Weave::Profiles::DataManagement_Current::TraitDataSink
nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate
Конструкторы и деструкторы | |
---|---|
TraitUpdatableDataSink (const TraitSchemaEngine *aEngine) |
Общественные функции | |
---|---|
ClearUpdated ( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle) | |
GetData ( PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent) __OVERRIDE | virtual WEAVE_ERROR Учитывая дескриптор пути к узлу, модуль записи TLV и логические значения, указывающие, является ли значение нулевым или отсутствует, получите данные из источника типажа, который создаст уведомление. |
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) | Объявляет, что данный PropertyPathHandle имеет локальные изменения. |
Unlock ( SubscriptionClient *apSubClient) | void |
Общественные функции
ОчиститьОбновлено
WEAVE_ERROR ClearUpdated( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle )
Получить данные
virtual WEAVE_ERROR GetData( PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent ) __OVERRIDE
Учитывая дескриптор пути к узлу, модуль записи TLV и логические значения, указывающие, является ли значение нулевым или отсутствует, получите данные из источника типажа, который создаст уведомление.
Если дескриптор пути не является конечным узлом, TDM будет обрабатывать запись значений в записывающее устройство (например, открытие контейнеров, обнуление структуры и т. д.). Если нелистовой узел имеет значение NULL или отсутствует, TDM не будет вызывать GetData для своих дочерних узлов.
Эта функция будет вызываться только для дескрипторов, которые являются обнуляемыми, необязательными, эфемерными или листовыми. Ожидается, что любые черты с дескрипторами, у которых включены эти параметры, будут реализовывать соответствующую логику для заполнения aIsNull и aIsPresent.
Подробности | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||
Возвращаемые значения |
|
Получитьподпискуклиент
virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE
GetUpdateEncoder
virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE
Исупдатабледатасинк
virtual bool IsUpdatableDataSink( void ) __OVERRIDE
Замок
void Lock( SubscriptionClient *apSubClient )
Чтение данных
WEAVE_ERROR ReadData( TraitDataHandle aTraitDataHandle, PropertyPathHandle aHandle, uint64_t aTagToWrite, TLV::TLVWriter & aWriter, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom )
SetSubscriptionClient
virtual WEAVE_ERROR SetSubscriptionClient( SubscriptionClient *apSubClient ) __OVERRIDE
сетупдатеэнкодер
virtual WEAVE_ERROR SetUpdateEncoder( UpdateEncoder *apEncoder ) __OVERRIDE
УстановитьОбновлено
WEAVE_ERROR SetUpdated( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle, bool aIsConditional )
Объявляет, что данный PropertyPathHandle имеет локальные изменения.
NotificationEngine не будет переопределять дескриптор и его потомков до тех пор, пока запрос на обновление не будет обработан. Приложение получит обратные вызовы kEvent_OnUpdateComplete для этого дескриптора или для одного из его предков с результатом операции обновления. Модификация может быть условной или нет. Условные обновления данных будут потеряны, если локальная копия экземпляра признака больше не синхронизирована с копией издателя, поскольку она была изменена самим издателем или другим клиентом. Условные и безусловные мутации не поддерживаются одновременно в одном и том же экземпляре признака.
Подробности | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||
Возвращаемые значения |
|
TraitUpdatableDataSink
TraitUpdatableDataSink( const TraitSchemaEngine *aEngine )
Разблокировать
void Unlock( SubscriptionClient *apSubClient )