nl:: Weave:: Profiles:: DataManagement_Current:: TraitUpdatableDataSink
요약
상속
상속 출처: <ph type="x-smartling-placeholder"></ph> nl::Weave::Profiles::DataManagement_Current::TraitDataSink <ph type="x-smartling-placeholder">
</ph> 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 작성자, 값이 null인지 여부를 나타내는 불리언이 주어지면 알림을 빌드할 트레잇 소스에서 데이터를 가져옵니다.
|
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 )
GetData
virtual WEAVE_ERROR GetData( PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent ) __OVERRIDE
노드에 대한 경로 핸들, TLV 작성자, 값이 null인지 여부를 나타내는 불리언이 주어지면 알림을 빌드할 트레잇 소스에서 데이터를 가져옵니다.
경로 핸들이 리프 노드가 아닌 경우 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 콜백을 수신합니다. 수정은 조건부일 수도 있고 아닐 수도 있습니다. 게시자 또는 다른 클라이언트에 의해 변경되었기 때문에 트레잇 인스턴스의 로컬 사본이 게시자의 로컬 사본과 더 이상 동기화되지 않으면 조건부 데이터 업데이트가 손실됩니다. 조건부 변형과 비조건부 변형은 동일한 트레잇 인스턴스에서 동시에 지원되지 않습니다.
세부정보 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||
반환 값 |
|