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

Ini adalah class abstrak.

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

Class tambahan ProfileDatabase abstrak.

Ringkasan

WDM memisahkan implementasi protokol dari implementasi pengelolaan data dan, setidaknya pada prinsipnya, menyerahkan sebagian besar implementasi protokol kepada developer aplikasi. Semua panggilan menarik di WDM dan semua metode abstrak yang harus diimplementasikan oleh developer profil mengambil daftar jalur berenkode TLV atau daftar data. Hal ini akan membebani developer profil dan, pada praktiknya, akan menyebabkan banyak duplikasi kode karena developer setelah developer menulis kode yang sama untuk mengemas serta mengekstrak TLV, dan seterusnya. Untuk memudahkan, kami menyediakan semacam "toolkit pengelolaan data".

Class tambahan ini memberikan dukungan untuk menyimpan dan mengambil data asalkan sub-class ProfileData konkret yang diperlukan telah disediakan dan ditambahkan ke metode LookupProfileData() di bawah.

Fungsi publik

LookupDataFromProfileDescriptor(nl::Weave::TLV::TLVReader & aDescReader, ProfileData **aProfileData)
Temukan objek ProfileData di database.
LookupProfileData(nl::Weave::TLV::TLVReader & aPathReader, ProfileData **aProfileData)
Temukan objek ProfileData di database.
LookupProfileData(uint32_t aProfileId, nl::Weave::TLV::TLVReader *aInstanceIdRdr, ProfileData **aResult)=0
virtual WEAVE_ERROR
Cari objek ProfileData.
Retrieve(ReferencedTLVData & aPathList, ReferencedTLVData & aDataList)
Mengambil daftar data dengan daftar jalur.
Retrieve(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVWriter & aWriter)
Menuliskan daftar data berdasarkan daftar jalur.
Store(ReferencedTLVData & aDataList)
Simpan daftar data.

Fungsi yang dilindungi

StoreInternal(nl::Weave::TLV::TLVReader & aPathReader, uint64_t aVersion, nl::Weave::TLV::TLVReader & aDataReader)

Class

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

Class dalam tambahan ProfileData abstrak.

Fungsi publik

LookupDataFromProfileDescriptor

WEAVE_ERROR LookupDataFromProfileDescriptor(
  nl::Weave::TLV::TLVReader & aDescReader,
  ProfileData **aProfileData
)

Temukan objek ProfileData di database.

Metode utilitas ini digunakan untuk menemukan objek ProfileData dalam ProfileDatabase tertentu. Ini sangat bergantung pada metode pencarian yang disediakan oleh pelaksana subclass ProfileDatabase konkret.

Detail
Parameter
[in] aDescReader
Referensi ke pembaca TLV yang diposisikan di jalur WDM - yaitu jalur TLV yang memiliki deskripsi profil sebagai elemen pertamanya.
[out] aProfileData
Pointer, yang dimaksudkan untuk menampilkan pointer ke objek ProfileData yang diinginkan.
Hasil
WEAVE_NO_ERROR saat berhasil, jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan untuk mencari objek ProfileData yang cocok.

LookupProfileData

WEAVE_ERROR LookupProfileData(
  nl::Weave::TLV::TLVReader & aPathReader,
  ProfileData **aProfileData
)

Temukan objek ProfileData di database.

Metode utilitas ini digunakan untuk menemukan objek ProfileData dalam ProfileDatabase tertentu. Ini sangat bergantung pada metode pencarian yang disediakan oleh pelaksana subclass ProfileDatabase konkret.

Detail
Parameter
[in] aPathReader
Referensi ke pembaca TLV yang diposisikan di jalur WDM - yaitu jalur TLV yang memiliki deskripsi profil sebagai elemen pertamanya.
[out] aProfileData
Pointer, yang dimaksudkan untuk menampilkan pointer ke objek ProfileData yang diinginkan.
Hasil
WEAVE_NO_ERROR saat berhasil, jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan untuk mencari objek ProfileData yang cocok.

LookupProfileData

virtual WEAVE_ERROR LookupProfileData(
  uint32_t aProfileId,
  nl::Weave::TLV::TLVReader *aInstanceIdRdr,
  ProfileData **aResult
)=0

Cari objek ProfileData.

Mencari objek ProfileData tertentu dengan ID profil dan ID instance (opsional)< yang disediakan sebagai pembaca TLV.

Detail
Parameter
[in] aProfileId
Nomor profil 32-bit dari profil minat.
[in] aInstanceIdRdr
Pointer ke pembaca TLV yang diposisikan pada data ID instance. Jika ID instance tidak diberikan, maka ini akan menjadi NULL.
[out] aResult
Pointer, yang dimaksudkan untuk menampilkan pointer ke objek ProfileData yang diinginkan.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk menemukan objek ProfileData.

Ambil

WEAVE_ERROR Retrieve(
  ReferencedTLVData & aPathList,
  ReferencedTLVData & aDataList
)

Mengambil daftar data dengan daftar jalur.

Dengan mempertimbangkan daftar jalur, ambil daftar data yang berisi elemen daftar data untuk setiap jalur dalam daftar jalur yang merupakan terminal dari jalur tersebut.

Detail
Parameter
[in] aPathList
Referensi ke objek ReferencedTLVData berisi daftar jalur berenkode TLV yang mewakili data yang akan diambil. Parameter ini dijaga agar konstan selama eksekusi fungsi ini.
[out] aDataList
Referensi ke objek ReferencedTLVData untuk menulis hasil yang diambil. Panjang data hanya disesuaikan setelah fungsi ini berhasil dieksekusi.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan mengambil daftar data minat.

Ambil

WEAVE_ERROR Retrieve(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVWriter & aWriter
)

Menuliskan daftar data berdasarkan daftar jalur.

Dengan mempertimbangkan daftar jalur dan penulis TLV, tuliskan daftar data yang berisi elemen daftar data untuk setiap jalur dalam daftar jalur dan data yang merupakan terminal dari jalur tersebut.

Detail
Parameter
[in] aPathList
Referensi ke objek ReferencedTLVData berisi daftar jalur TLV yang mewakili data yang akan diambil. Parameter ini dijaga agar konstan selama eksekusi fungsi ini.
[in] aWriter
Referensi ke penulis TLV untuk digunakan dalam menulis daftar jalur yang diambil. Status internal untuk penulis tidak dapat dipulihkan jika terjadi error.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan mengambil data atau menulis daftar data yang diinginkan.

Toko

WEAVE_ERROR Store(
  ReferencedTLVData & aDataList
)

Simpan daftar data.

Dengan mempertimbangkan daftar data yang dienkode TLV, metode ini melewati proses penguraian daftar tersebut dan memanggil metode konkret yang disediakan oleh pelaksana subclass ProfileDatabase untuk menempatkan data yang direferensikan di tempatnya.

Detail
Parameter
[in] aDataList
Referensi ke objek ReferencedTLVData yang berisi data minat dalam bentuk berenkode TLV.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan penyimpanan data yang diminati.

Fungsi yang dilindungi

StoreInternal

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