nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase::ProfileData

Đây là lớp trừu tượng.

#include <src/lib/profiles/data-management/Legacy/ProfileDatabase.h>

Lớp phụ trợ ProfileData bên trong trừu tượng.

Tóm tắt

Các trình triển khai lớp con ProfileDatabase cũng nên triển khai các lớp con của lớp bên trong phụ trợ này. Chức năng của đối tượng ProfileData là cung cấp hook để lưu trữ dữ liệu cụ thể, dựa trên cách biểu diễn dưới dạng TLV và được truy xuất dưới dạng bản trình bày TLV dựa trên danh sách đường dẫn được mã hoá TLV.

Hàm khởi tạo và hàm phá

ProfileData(void)
Hàm khởi tạo mặc định cho ProfileData.
~ProfileData(void)
Hàm khởi tạo cho ProfileData.

Thuộc tính công khai

mVersion
uint64_t
Phiên bản dữ liệu hồ sơ.

Hàm công khai

Retrieve(nl::Weave::TLV::TLVReader & aPathReader, nl::Weave::TLV::TLVWriter & aDataWriter)=0
virtual WEAVE_ERROR
Viết ra một mục dữ liệu dựa trên đường dẫn WDM còn lại.
Store(nl::Weave::TLV::TLVReader & aPathReader, uint64_t aVersion, nl::Weave::TLV::TLVReader & aDataReader)
virtual WEAVE_ERROR
Lưu trữ một mục danh sách dữ liệu đang được đọc.
StoreItem(const uint64_t & aTag, nl::Weave::TLV::TLVReader & aDataReader)=0
virtual WEAVE_ERROR
Lưu trữ một mục dữ liệu dựa trên thẻ của mục đó.

Thuộc tính công khai

mVersion

uint64_t mVersion

Phiên bản dữ liệu hồ sơ.

Phiên bản được cung cấp ở đây trong đối tượng ProfileData áp dụng cho toàn bộ tập dữ liệu hồ sơ cho một phiên bản cụ thể.

Hàm công khai

ProfileData

 ProfileData(
  void
)

Hàm khởi tạo mặc định cho ProfileData.

Khởi chạy một mục ProfileData mới bằng cách đặt phiên bản của mục đó thành 0.

Truy xuất

virtual WEAVE_ERROR Retrieve(
  nl::Weave::TLV::TLVReader & aPathReader,
  nl::Weave::TLV::TLVWriter & aDataWriter
)=0

Viết ra một mục dữ liệu dựa trên đường dẫn WDM còn lại.

Trình triển khai lớp con ProfileDatabase phải cung cấp cách triển khai cụ thể cho phương thức này trong mọi trường hợp có thể truy cập vào các phần tử riêng lẻ của đối tượng lớp con ProfileData thông qua các thẻ cụ thể.

Thông tin chi tiết
Thông số
[in] aPathReader
Tham chiếu đến trình đọc TLV được đặt trong đường dẫn WDM sau thông tin hồ sơ, tức là tại phần tử đường dẫn "còn lại", nếu có.
[in] aDataWriter
Tham chiếu đến một người viết TLV dùng để viết dữ liệu được biểu thị bằng đường dẫn còn lại.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết rằng hệ thống không thể nhận ra một thẻ còn lại hoặc cho biết dữ liệu khác không ghi dữ liệu tương ứng.

Cửa hàng

virtual WEAVE_ERROR Store(
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t aVersion,
  nl::Weave::TLV::TLVReader & aDataReader
)

Lưu trữ một mục danh sách dữ liệu đang được đọc.

Phương thức ảo này dùng để lưu trữ một mục cụ thể trong danh sách dữ liệu trong một đối tượng của lớp con ProfileData cụ thể. Bạn có thể triển khai phương thức triển khai ở đây trong lớp cao cấp nếu đối tượng đơn giản và "nông", chỉ có các đường dẫn dài một phần tử. Đối với một giản đồ phức tạp hơn, trình triển khai nên ghi đè phương thức này.

Thông tin chi tiết
Thông số
[in] aPathReader
Tham chiếu đến trình đọc TLV được đặt ở thành phần đường dẫn của mục danh sách dữ liệu.
[in] aVersion
Thành phần phiên bản 64 bit của mục danh sách dữ liệu.
[in] aDataReader
Tham chiếu đến trình đọc TLV được đặt ở thành phần dữ liệu của mục danh sách dữ liệu.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết không lưu trữ được dữ liệu quan tâm.

StoreItem

virtual WEAVE_ERROR StoreItem(
  const uint64_t & aTag,
  nl::Weave::TLV::TLVReader & aDataReader
)=0

Lưu trữ một mục dữ liệu dựa trên thẻ của mục đó.

Thông tin chi tiết
Thông số
[in] aTag
Tham chiếu đến thẻ TLV 64 bit đủ điều kiện mà trong đó dữ liệu sẽ được lưu trữ.
[in] aDataReader
Trình đọc TLV được đặt ở mục dữ liệu cần lưu trữ.
Trả về
WEAVE_NO_ERROR nếu thành công, nếu không, hãy trả về WEAVE_ERROR cho biết rằng hệ thống không thể nhận dạng thẻ hoặc lưu trữ dữ liệu.

~ProfileData

virtual  ~ProfileData(
  void
)

Hàm khởi tạo cho ProfileData.

Giống như hàm khởi tạo, thao tác này chỉ xoá phiên bản dữ liệu về 0.