Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

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의 작가, 값이 null 또는 존재하지가 있는지 여부를 나타내는 부울, A는 통보 구축 할 특성 소스에서 데이터를 얻을.
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)
지정된 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 또는 존재하지가 있는지 여부를 나타내는 부울, A는 통보 구축 할 특성 소스에서 데이터를 얻을.

경로 핸들이 리프 노드가 아닌 경우 TDM은 작성기에 값 쓰기 (예 : 컨테이너 열기, 구조체 무효화 등)를 처리합니다. 리프가 아닌 노드가 null이거나 존재하지 않으면 TDM은 자식에 대해 GetData를 호출하지 않습니다.

이 함수는 nullable, optional, ephemeral 또는 leafs 핸들에 대해서만 호출됩니다. 이러한 옵션이 활성화 된 핸들이있는 특성은 aIsNull 및 aIsPresent를 채우는 적절한 논리를 구현할 것으로 예상됩니다.

세부
매개 변수
[in] aHandle
문제의 PropertyPathHandle입니다.
[in] aTagToWrite
aHandle에 쓸 태그입니다.
[in,out] aWriter
작가는 쓰기 TLV의 에 요소를.
[out] aIsNull
aHandle이 무효화됩니까? 그렇다면 TDM은 null 요소를 작성합니다. aHandle이 리프가 아니면 TDM은 자식을 건너 뜁니다.
[out] aIsPresent
aHandle이 있습니까? 그렇지 않고 aHandle이 리프가 아니면 TDM은 경로와 하위 항목을 건너 뜁니다.
반환 값
WEAVE_NO_ERROR
성공에.
other
데이터를 검색하고 기록기에 쓸 수 없습니다.

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 콜백을 수신합니다. 수정은 조건부 일 수도 있고 아닐 수도 있습니다. 트레이 트 인스턴스의 로컬 복사본이 게시자 자체 또는 다른 클라이언트에 의해 변경 되었기 때문에 더 이상 게시자와 동기화되지 않는 경우 조건부 데이터 업데이트가 손실됩니다. 조건부 및 무조건적 돌연변이는 동일한 특성 인스턴스에서 동시에 지원되지 않습니다.

세부
매개 변수
[in] apSubClient
받는 포인터 SubscriptionClient 이 싱크를 관리.
[in] aPropertyHandle
이 Trait 인스턴스에 대한 유효한 PropertyPathHandle입니다.
[in] aIsConditional
조건부 업데이트의 경우 참입니다. 그렇지 않으면 거짓.
반환 값
WEAVE_NO_ERROR
특성 핸들이 특성 소유자에게 전송 될 특성 세트에 성공적으로 추가 된 경우.
WEAVE_ERROR_INVALID_ARGUMENT
핸들 또는 경우 SubscriptionClient의 포인터가 유효하지 않습니다.
WEAVE_ERROR_WDM_INCONSISTENT_CONDITIONALITY
트레이 트 인스턴스가 이미 반대 조건으로 업데이트되고있는 경우.
WEAVE_ERROR_WDM_LOCAL_DATA_INCONSISTENT
aIsConditional이 true이지만 트레이 트 인스턴스에 유효한 버전이없는 경우.
WEAVE_ERROR_WDM_PATH_STORE_FULL
경로를 저장할 메모리가없는 경우.
Other
실패에 따라 WEAVE_ERROR 코드.

TraitUpdatableDataSink

 TraitUpdatableDataSink(
  const TraitSchemaEngine *aEngine
)

터놓다

void Unlock(
  SubscriptionClient *apSubClient
)