Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Dệt :: Hồ sơ :: DataManagement_Current :: TraitUpdatableDataSink

Tóm lược

Di sản

Kế thừa từ:
  nl :: Weave :: Profiles :: DataManagement_Current :: TraitDataSink
  nl :: Weave :: Profiles :: DataManagement_Current :: TraitSchemaEngine :: IGetDataDelegate

Người xây dựng và Người phá hủy

TraitUpdatableDataSink (const TraitSchemaEngine *aEngine)

Chức năng công cộng

ClearUpdated ( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle)
GetData ( PropertyPathHandle aHandle, uint64_t aTagToWrite,nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent) __OVERRIDE
virtual WEAVE_ERROR
Đưa ra một xử lý đường dẫn đến một nút, một trình ghi TLV và các boolean cho biết giá trị có giá trị rỗng hay không, hãy lấy dữ liệu từ nguồn đặc điểm sẽ tạo một thông báo.
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)
Tuyên bố rằng PropertyPathHandle đã cho có các sửa đổi cục bộ.
Unlock ( SubscriptionClient *apSubClient)
void

Chức năng công cộng

ClearUpdated

WEAVE_ERROR ClearUpdated(
  SubscriptionClient *apSubClient,
  PropertyPathHandle aPropertyHandle
)

Lấy dữ liệu

virtual WEAVE_ERROR GetData(
  PropertyPathHandle aHandle,
  uint64_t aTagToWrite,
  nl::Weave::TLV::TLVWriter & aWriter,
  bool & aIsNull,
  bool & aIsPresent
) __OVERRIDE

Đưa ra một xử lý đường dẫn đến một nút, một trình ghi TLV và các boolean cho biết giá trị có giá trị rỗng hay không, hãy lấy dữ liệu từ nguồn đặc điểm sẽ tạo một thông báo.

Nếu xử lý đường dẫn không phải là nút lá, TDM sẽ xử lý việc ghi các giá trị vào trình viết (như mở vùng chứa, vô hiệu hóa cấu trúc, v.v.). Nếu một nút không phải là nút rỗng hoặc không có, TDM sẽ không gọi GetData cho các nút con của nó.

Hàm này sẽ chỉ được gọi đối với các xử lý là nullable, tùy chọn, tạm thời hoặc lá. Kỳ vọng là bất kỳ đặc điểm nào có chốt điều khiển đã bật các tùy chọn đó sẽ triển khai logic thích hợp để điền aIsNull và aIsPresent.

Chi tiết
Thông số
[in] aHandle
PropertyPathHandle được đề cập.
[in] aTagToWrite
Thẻ để viết cho aHandle.
[in,out] aWriter
Người viết các yếu tố TLV để.
[out] aIsNull
AHandle có bị vô hiệu hóa không? Nếu có, TDM sẽ ghi một phần tử null. Nếu aHandle không phải là lá, TDM sẽ bỏ qua các lá con của nó.
[out] aIsPresent
AHandle có mặt không? Nếu không và nếu aHandle không phải là lá, TDM sẽ bỏ qua con đường và con của nó.
Giá trị trả lại
WEAVE_NO_ERROR
Về thành công.
other
Không thể lấy dữ liệu và ghi nó vào trình ghi.

GetSubscriptionClient

virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE

GetUpdateEncoder

virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE

IsUpdatableDataSink

virtual bool IsUpdatableDataSink(
  void
) __OVERRIDE

Khóa

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
)

Tuyên bố rằng PropertyPathHandle đã cho có các sửa đổi cục bộ.

NotificationEngine sẽ không ghi đè xử lý và các con của nó cho đến khi yêu cầu cập nhật được xử lý. Ứng dụng sẽ nhận được lệnh gọi lại kEvent_OnUpdateComplete cho xử lý này hoặc cho một trong các tổ tiên của nó với kết quả của thao tác cập nhật. Việc sửa đổi có thể có điều kiện hoặc không. Cập nhật dữ liệu có điều kiện sẽ bị mất nếu bản sao cục bộ của cá thể đặc điểm không còn đồng bộ với của nhà xuất bản nữa vì nó đã bị chính nhà xuất bản hoặc khách hàng khác thay đổi. Các đột biến có điều kiện và không có điều kiện không được hỗ trợ đồng thời trong cùng một cá thể tính trạng.

Chi tiết
Thông số
[in] apSubClient
Một con trỏ đến SubscriptionClient quản lý bồn rửa này.
[in] aPropertyHandle
Bất kỳ PropertyPathHandle hợp lệ nào cho phiên bản Trait này.
[in] aIsConditional
Đúng cho bản cập nhật có điều kiện; sai khác.
Giá trị trả lại
WEAVE_NO_ERROR
nếu xử lý thuộc tính được thêm thành công vào tập hợp thuộc tính sẽ được gửi đến chủ sở hữu của đặc điểm.
WEAVE_ERROR_INVALID_ARGUMENT
nếu tay cầm hoặc con trỏ SubscriptionClient không hợp lệ.
WEAVE_ERROR_WDM_INCONSISTENT_CONDITIONALITY
nếu cá thể đặc điểm đã được cập nhật với điều kiện ngược lại.
WEAVE_ERROR_WDM_LOCAL_DATA_INCONSISTENT
nếu aIsConditional là đúng nhưng cá thể đặc điểm không có phiên bản hợp lệ.
WEAVE_ERROR_WDM_PATH_STORE_FULL
nếu không có bộ nhớ để lưu trữ đường dẫn.
Other
Mã WEAVE_ERROR tùy thuộc vào lỗi.

TraitUpdatableDataSink

 TraitUpdatableDataSink(
  const TraitSchemaEngine *aEngine
)

Mở khóa

void Unlock(
  SubscriptionClient *apSubClient
)