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.

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
Cho một tay cầm con đường dẫn tới một nút, một TLV nhà văn, và các phép toán luận nêu rõ giá trị là null hoặc không có mặt, lấy dữ liệu từ các nguồn đặc điểm đó sẽ xây dựng 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

Cho một tay cầm con đường dẫn tới một nút, một TLV nhà văn, và các phép toán luận nêu rõ giá trị là null hoặc không có mặt, lấy dữ liệu từ các nguồn đặc điểm đó sẽ xây dựng 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 cho các ô điều khiển 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ó cá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
Các nhà văn để viết TLV yếu tố để.
[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ộ.

Các NotificationEngine sẽ không ghi đè lên tay cầm và con cháu của mình 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 thể trạng.

Chi tiết
Thông số
[in] apSubClient
Một con trỏ tới các 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 một 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 các thuộc tính sẽ được gửi đến chủ sở hữu của đặc điểm.
WEAVE_ERROR_INVALID_ARGUMENT
nếu xử lý hoặc SubscriptionClient con trỏ 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
)