nl :: Плетение :: Профили: 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 |
Публичные функции
ClearUpdated
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 для своих дочерних узлов.
Эта функция будет вызываться только для дескрипторов, допускающих значение NULL, необязательных, эфемерных или конечных. Ожидается, что любые черты с дескрипторами, для которых включены эти параметры, будут реализовывать соответствующую логику для заполнения aIsNull и aIsPresent.
Подробности | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||
Возвращаемые значения |
|
GetSubscriptionClient
virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE
GetUpdateEncoder
virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE
IsUpdatableDataSink
virtual bool IsUpdatableDataSink( void ) __OVERRIDE
Замок
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 )
Объявляет, что данный PropertyPathHandle имеет локальные модификации.
NotificationEngine не переопределит дескриптор и его потомков, пока запрос на обновление не будет обработан. Приложение получит обратные вызовы kEvent_OnUpdateComplete для этого дескриптора или для одного из его предков с результатом операции обновления. Модификация может быть условной или нет. Условные обновления данных будут потеряны, если локальная копия экземпляра признака больше не синхронизируется с копией издателя, поскольку она была изменена самим издателем или другим клиентом. Условные и безусловные мутации не поддерживаются одновременно в одном и том же экземпляре признака.
Подробности | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||
Возвращаемые значения |
|
TraitUpdatableDataSink
TraitUpdatableDataSink( const TraitSchemaEngine *aEngine )
Разблокировать
void Unlock( SubscriptionClient *apSubClient )