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 penerapan protokol dari implementasi pengelolaan data dan, setidaknya pada prinsipnya, menyerahkan sebagian besar penerapan protokol kepada developer aplikasi. Semua panggilan yang menarik di WDM dan semua metode abstrak yang diperlukan developer profil untuk mengimplementasikan mengambil daftar jalur yang dienkode dengan TLV atau daftar data. Hal ini membebani developer profil dan, dalam praktiknya, akan menyebabkan banyak duplikasi kode sebagai developer setelah developer menulis kode yang sama untuk memaketkan serta mengekstrak TLV dan seterusnya. Untuk sedikit memudahkan, kami menyediakan semacam "perangkat pengelolaan data".

Class tambahan ini memberikan dukungan untuk menyimpan dan mengambil data asalkan subclass 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 yang diberi daftar jalur.
Retrieve(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVWriter & aWriter)
Menulis daftar data dengan daftar jalur.
Store(ReferencedTLVData & aDataList)
Menyimpan 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 di ProfileDatabase tertentu. Model ini sangat bergantung pada metode pencarian yang disediakan oleh pengimplementasi subclass ProfileDatabase konkret.

Detail
Parameter
[in] aDescReader
Referensi ke pembaca TLV yang diposisikan di jalur WDM - yaitu jalur TLV yang memiliki, sebagai elemen pertamanya, deskripsi profil.
[out] aProfileData
Pointer, yang dimaksudkan untuk menampilkan pointer ke objek ProfileData yang diinginkan.
Hasil
WEAVE_NO_ERROR jika berhasil, jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan dalam 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 di ProfileDatabase tertentu. Model ini sangat bergantung pada metode pencarian yang disediakan oleh pengimplementasi subclass ProfileDatabase konkret.

Detail
Parameter
[in] aPathReader
Referensi ke pembaca TLV yang diposisikan di jalur WDM - yaitu jalur TLV yang memiliki, sebagai elemen pertamanya, deskripsi profil.
[out] aProfileData
Pointer, yang dimaksudkan untuk menampilkan pointer ke objek ProfileData yang diinginkan.
Hasil
WEAVE_NO_ERROR jika berhasil, jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan dalam 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 yang diinginkan.
[in] aInstanceIdRdr
Pointer ke pembaca TLV yang diposisikan pada data ID instance. Jika tidak diberikan ID instance, ini akan menjadi NULL.
[out] aResult
Pointer, yang dimaksudkan untuk menampilkan pointer ke objek ProfileData yang diinginkan.
Hasil
WEAVE_NO_ERROR Jika berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan ketidakmampuan untuk menemukan objek ProfileData.

Ambil

WEAVE_ERROR Retrieve(
  ReferencedTLVData & aPathList,
  ReferencedTLVData & aDataList
)

Mengambil daftar data yang diberi daftar jalur.

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

Detail
Parameter
[in] aPathList
Referensi ke objek ReferencedTLVData yang berisi daftar berenkode TLV berisi jalur yang mewakili data yang akan diambil. Parameter ini dijaga tetap konstan sepanjang 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 Jika berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan dalam mengambil daftar minat data.

Ambil

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

Menulis daftar data dengan daftar jalur.

Dengan mempertimbangkan daftar jalur dan penulis TLV, tulis daftar data yang berisi elemen daftar data untuk setiap jalur di daftar jalur dan data yang merupakan terminal jalur tersebut.

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

Toko

WEAVE_ERROR Store(
  ReferencedTLVData & aDataList
)

Menyimpan daftar data.

Dengan mempertimbangkan daftar data berenkode TLV, metode ini akan menjalani proses penguraian daftar tersebut dan memanggil metode konkret yang disediakan oleh pengimplementasi subclass ProfileDatabase untuk menempatkan data yang direferensikan di tempat yang semestinya.

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

Fungsi yang dilindungi

StoreInternal

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