Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

nl:: Menenun:: Profil:: DataManagement_Current:: SifatSkemaMesin

#include <src/lib/profiles/data-management/Current/TraitData.h>

Mesin skema mengambil informasi skema yang terkait dengan sifat tertentu dan menyediakan fasilitas untuk menguraikan dan menerjemahkannya ke dalam bentuk yang dapat digunakan oleh mesin WDM.

Ringkasan

Ini termasuk mengkonversi dari PathHandles ke jalur WDM (dan sebaliknya), metode untuk menafsirkan / query skema itu sendiri dan metode untuk membantu membaca / menulis data ke / dari TLV diberikan pegangan.

Skema itu sendiri disimpan dalam bentuk tabel, cukup dijelaskan untuk memungkinkan penguraian/komposisi jalur/data WDM umum untuk setiap sifat yang diberikan. Tabel-tabel ini adalah apa yang akan menjadi keluaran akhir dari 'kode-gen' (Istilah itu sendiri agak menyesatkan mengingat tidak adanya kode yang dihasilkan: P)

Atribut statis publik

kHandleTableOffset = 2
const uint32_t

Atribut publik

mSchema
const Schema

Fungsi publik

FindLowestCommonAncestor ( PropertyPathHandle aHandle1, PropertyPathHandle aHandle2, PropertyPathHandle *aHandle1BranchChild, PropertyPathHandle *aHandle2BranchChild) const
Diberikan dua pegangan properti, hitung pegangan terendah yang berfungsi sebagai induk dari kedua pegangan ini.
GetChildHandle ( PropertyPathHandle aParentHandle, uint8_t aContextTag) const
GetDepth ( PropertyPathHandle aHandle) const
int32_t
Hitung kedalaman di pohon skema untuk pegangan yang diberikan.
GetDictionaryItemHandle ( PropertyPathHandle aParentHandle, uint16_t aDictionaryKey) const
GetFirstChild ( PropertyPathHandle aParentHandle) const
Mengembalikan pegangan anak pertama yang terkait dengan induk tertentu.
GetHighestForwardVersion (SchemaVersion aVersion) const
SchemaVersion
Diberikan versi skema data yang disediakan, ini akan mengembalikan versi skema tertinggi yang kompatibel ke depan.
GetLowestCompatibleVersion (SchemaVersion aVersion) const
SchemaVersion
Mengingat versi skema data yang disediakan, ini akan mengembalikan versi skema minimum yang kompatibel.
GetMap ( PropertyPathHandle aHandle) const
const PropertyInfo *
Mengembalikan pointer ke PropertyInfo struktur menggambarkan pegangan jalan tertentu.
GetMaxVersion () const
SchemaVersion
GetMinVersion () const
SchemaVersion
GetNextChild ( PropertyPathHandle aParentId, PropertyPathHandle aChildHandle) const
Diberikan pegangan ke anak yang ada, mengembalikan pegangan anak berikutnya yang terkait dengan induk tertentu.
GetParent ( PropertyPathHandle aHandle) const
Mengembalikan pegangan induk dari pegangan jalur anak yang diberikan.
GetProfileId (void) const
uint32_t
Mengembalikan id profil dari sifat terkait.
GetRelativePathTags (const PropertyPathHandle aCandidateHandle, uint64_t *aTags, const uint32_t aTagsSize, uint32_t & aNumTags) const
Mengonversi PropertyPathHandle ke larik tag konteks.
GetTag ( PropertyPathHandle aHandle) const
uint64_t
Mengembalikan tag yang terkait dengan pegangan jalur.
GetVersionIntersection ( SchemaVersionRange & aVersion, SchemaVersionRange & aIntersection) const
bool
Mengingat rentang versi, fungsi ini memeriksa untuk melihat apakah ada persimpangan kompatibilitas antara itu dan apa yang didukung oleh skema yang mendukung mesin skema ini.
IsDictionary ( PropertyPathHandle aHandle) const
bool
Mengembalikan nilai true jika pegangannya adalah kamus (dan bukan dalam kamus - lihat metode di bawah).
IsEphemeral ( PropertyPathHandle aHandle) const
bool
IsInDictionary ( PropertyPathHandle aHandle, PropertyPathHandle & aDictionaryItemHandle) const
bool
Pengembalian benar jika pegangan di dalam kamus (elemen kamus).
IsLeaf ( PropertyPathHandle aPropertyHandle) const
bool
Mengembalikan nilai true jika pegangan merujuk ke simpul daun di pohon skema.
IsNullable ( PropertyPathHandle aHandle) const
bool
IsOptional ( PropertyPathHandle aHandle) const
bool
IsParent ( PropertyPathHandle aChildHandle, PropertyPathHandle aParentHandle) const
bool
Memeriksa apakah pegangan yang diberikan adalah anak dari pegangan lain.
MapHandleToPath ( PropertyPathHandle aHandle,nl::Weave::TLV::TLVWriter & aPathWriter) const
Mengkonversi pegangan jalan ke TLV jalan.
MapPathToHandle (nl::Weave::TLV::TLVReader & aPathReader, PropertyPathHandle & aHandle) const
Mengingat pembaca diposisikan di akar elemen jalur WDM, bacakan tag yang relevan dan berikan pegangan jalur yang setara.
MapPathToHandle (const char *aPathString, PropertyPathHandle & aHandle) const
Mengingat representasi string dari jalur WDM, bacakan tag yang relevan dan berikan pegangan jalur yang setara.
MatchesProfileId (uint32_t aProfileId) const
bool
Mengembalikan nilai true jika yang diteruskan di profileId cocok dengan yang disimpan dalam skema.
RetrieveData ( PropertyPathHandle aHandle, uint64_t aTagToWrite,nl::Weave::TLV::TLVWriter & aWriter, IGetDataDelegate *aDelegate, IDirtyPathCut *apDirtyPathCut) const
Diberikan pegangan jalur dan posisi penulis pada elemen data yang sesuai, ambil data daun dari sumber dan tulis ke dalam buffer yang ditunjuk oleh penulis dengan cara yang sesuai skema.
RetrieveUpdatableDictionaryData ( PropertyPathHandle aHandle, uint64_t aTagToWrite,nl::Weave::TLV::TLVWriter & aWriter, IGetDataDelegate *aDelegate, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom) const
StoreData ( PropertyPathHandle aHandle,nl::Weave::TLV::TLVReader & aReader, ISetDataDelegate *aDelegate, IPathFilter *aPathFilter) const
Diberikan pegangan jalur dan pembaca yang diposisikan pada elemen data yang sesuai, proses buffer data yang ditunjuk oleh pembaca dan simpan ke dalam sink dengan menjalankan panggilan SetLeafData setiap kali item data daun ditemukan.

Kelas

nl :: Weave :: Profil :: DataManagement_Current :: TraitSchemaEngine :: IGetDataDelegate
nl :: Weave :: Profil :: DataManagement_Current :: TraitSchemaEngine :: ISetDataDelegate

Struktur

nl :: Weave :: Profil :: DataManagement_Current :: TraitSchemaEngine :: PropertyInfo
nl :: Weave :: Profil :: DataManagement_Current :: TraitSchemaEngine :: Skema

Struktur skema utama yang menampung informasi skema.

Atribut statis publik

kHandleTableOffset

const uint32_t kHandleTableOffset = 2

Atribut publik

mSchema

const Schema mSchema

Fungsi publik

TemukanLeluhur UmumTerendah

PropertyPathHandle FindLowestCommonAncestor(
  PropertyPathHandle aHandle1,
  PropertyPathHandle aHandle2,
  PropertyPathHandle *aHandle1BranchChild,
  PropertyPathHandle *aHandle2BranchChild
) const 

Diberikan dua pegangan properti, hitung pegangan terendah yang berfungsi sebagai induk dari kedua pegangan ini.

Selain itu, kembalikan dua cabang anak yang berisi masing-masing dari dua pegangan (meskipun keduanya sama).

rincian
Mengembalikan Nilai
PropertyPathHandle
Menangani ke orang tua terendah.

DapatkanPegangan Anak

PropertyPathHandle GetChildHandle(
  PropertyPathHandle aParentHandle,
  uint8_t aContextTag
) const 

Dapatkan Kedalaman

int32_t GetDepth(
  PropertyPathHandle aHandle
) const 

Hitung kedalaman di pohon skema untuk pegangan yang diberikan.

rincian
Mengembalikan Nilai
int32_t
Kedalaman di pohon

DapatkanDictionaryItemHandle

PropertyPathHandle GetDictionaryItemHandle(
  PropertyPathHandle aParentHandle,
  uint16_t aDictionaryKey
) const 

DapatkanAnak Pertama

PropertyPathHandle GetFirstChild(
  PropertyPathHandle aParentHandle
) const 

Mengembalikan pegangan anak pertama yang terkait dengan induk tertentu.

rincian
Mengembalikan Nilai
PropertyPathHandle
Pegangan anak pertama.

GetHighestForwardVersion

SchemaVersion GetHighestForwardVersion(
  SchemaVersion aVersion
) const 

Diberikan versi skema data yang disediakan, ini akan mengembalikan versi skema tertinggi yang kompatibel ke depan.

DapatkanVersiKompatibelTerrendah

SchemaVersion GetLowestCompatibleVersion(
  SchemaVersion aVersion
) const 

Mengingat versi skema data yang disediakan, ini akan mengembalikan versi skema minimum yang kompatibel.

DapatkanPeta

const PropertyInfo * GetMap(
  PropertyPathHandle aHandle
) const 

Mengembalikan pointer ke PropertyInfo struktur menggambarkan pegangan jalan tertentu.

rincian
Mengembalikan Nilai
PropertyInfo*

DapatkanMaxVersion

SchemaVersion GetMaxVersion() const 

DapatkanMinVersion

SchemaVersion GetMinVersion() const 

DapatkanNextChild

PropertyPathHandle GetNextChild(
  PropertyPathHandle aParentId,
  PropertyPathHandle aChildHandle
) const 

Diberikan pegangan ke anak yang ada, mengembalikan pegangan anak berikutnya yang terkait dengan induk tertentu.

rincian
Mengembalikan Nilai
PropertyPathHandle
Menangani anak berikutnya.

DapatkanOrang Tua

PropertyPathHandle GetParent(
  PropertyPathHandle aHandle
) const 

Mengembalikan pegangan induk dari pegangan jalur anak yang diberikan.

Kunci kamus di pegangan dipertahankan dalam kasus di mana pegangan induk juga merupakan elemen kamus.

rincian
Mengembalikan Nilai
PropertyPathHandle
Pegangan orang tua.

DapatkanIdProfil

uint32_t GetProfileId(
  void
) const 

Mengembalikan id profil dari sifat terkait.

rincian
Mengembalikan Nilai
Trait
ID profil

DapatkanRelativePathTag

WEAVE_ERROR GetRelativePathTags(
  const PropertyPathHandle aCandidateHandle,
  uint64_t *aTags,
  const uint32_t aTagsSize,
  uint32_t & aNumTags
) const 

Mengonversi PropertyPathHandle ke larik tag konteks.

rincian
Parameter
[in] aCandidateHandle
PropertyPathHandle yang akan dikonversi.
[in] aTags
Pointer ke larik keluaran.
[in] aTagsSize
Ukuran array aTags, dalam jumlah elemen.
[out] aNumTags
Jumlah tag yang ditulis ke aTags
Kembali
WEAVE_NO_ERROR jika berhasil; WEAVE_ERROR_NO_MEMORY jika aTags terlalu kecil untuk menyimpan path lengkap.

DapatkanTag

uint64_t GetTag(
  PropertyPathHandle aHandle
) const 

Mengembalikan tag yang terkait dengan pegangan jalur.

Jika ini adalah elemen kamus, fungsi ini mengembalikan ProfileTag. Jika tidak, ia mengembalikan tag konteks.

rincian
Mengembalikan Nilai
uint64_t

GetVersionIntersection

bool GetVersionIntersection(
  SchemaVersionRange & aVersion,
  SchemaVersionRange & aIntersection
) const 

Mengingat rentang versi, fungsi ini memeriksa untuk melihat apakah ada persimpangan kompatibilitas antara itu dan apa yang didukung oleh skema yang mendukung mesin skema ini.

Jika ada persimpangan, fungsi akan mengembalikan nilai true dan memperbarui argumen aIntersection yang diteruskan untuk mencerminkan hasil pengujian persimpangan tersebut.

adalah kamus

bool IsDictionary(
  PropertyPathHandle aHandle
) const 

Mengembalikan nilai true jika pegangannya adalah kamus (dan bukan dalam kamus - lihat metode di bawah).

rincian
Mengembalikan Nilai
bool

AdalahEphemeral

bool IsEphemeral(
  PropertyPathHandle aHandle
) const 

ApakahDalamKamus

bool IsInDictionary(
  PropertyPathHandle aHandle,
  PropertyPathHandle & aDictionaryItemHandle
) const 

Pengembalian benar jika pegangan di dalam kamus (elemen kamus).

Pengguna yang diteruskan di pegangan (aDictionaryItemHandle) diperbarui untuk menunjuk ke pegangan elemen kamus paling atas dalam kamus.

rincian
Mengembalikan Nilai
bool

IsLeaf

bool IsLeaf(
  PropertyPathHandle aPropertyHandle
) const 

Mengembalikan nilai true jika pegangan merujuk ke simpul daun di pohon skema.

rincian
Mengembalikan Nilai
bool

Tidak dapat dibatalkan

bool IsNullable(
  PropertyPathHandle aHandle
) const 

IsOpsional

bool IsOptional(
  PropertyPathHandle aHandle
) const 

Adalah Orang Tua

bool IsParent(
  PropertyPathHandle aChildHandle,
  PropertyPathHandle aParentHandle
) const 

Memeriksa apakah pegangan yang diberikan adalah anak dari pegangan lain.

Ini bisa menjadi orang tua tidak langsung.

rincian
Mengembalikan Nilai
bool

PetaMenanganiToPath

WEAVE_ERROR MapHandleToPath(
  PropertyPathHandle aHandle,
  nl::Weave::TLV::TLVWriter & aPathWriter
) const 

Mengkonversi pegangan jalan ke TLV jalan.

rincian
Mengembalikan Nilai
WEAVE_NO_ERROR
Pada kesuksesan.
other
Tidak mampu mengkonversi pegangan untuk sebuah TLV jalan

PetaJalanUntukMenangani

WEAVE_ERROR MapPathToHandle(
  nl::Weave::TLV::TLVReader & aPathReader,
  PropertyPathHandle & aHandle
) const 

Mengingat pembaca diposisikan di akar elemen jalur WDM, bacakan tag yang relevan dan berikan pegangan jalur yang setara.

rincian
Mengembalikan Nilai
WEAVE_NO_ERROR
Pada kesuksesan.
WEAVE_ERROR_TLV_TAG_NOT_FOUND
Jika pegangan yang cocok tidak dapat ditemukan karena jalur yang salah/salah ditentukan.

PetaJalanUntukMenangani

WEAVE_ERROR MapPathToHandle(
  const char *aPathString,
  PropertyPathHandle & aHandle
) const 

Mengingat representasi string dari jalur WDM, bacakan tag yang relevan dan berikan pegangan jalur yang setara.

Jalur WDM direpresentasikan sebagai string menggunakan aturan berikut:

  • tag dipisahkan dengan /
  • jalan HARUS dimulai dengan terkemuka / dan TIDAK HARUS berisi garis miring tertinggal
  • tag numerik di jalur WDM HARUS dikodekan menggunakan C perpustakaan standar untuk integer string encoding, yaitu desimal pengkodean (default) HARUS TIDAK mengandung awalan 0, pengkodean heksadesimal HARUS dimulai dengan 0x , dan encoding oktal HARUS berisi terkemuka 0 .

rincian
Mengembalikan Nilai
WEAVE_NO_ERROR
Pada kesuksesan.
WEAVE_ERROR_TLV_TAG_NOT_FOUND
Jika pegangan yang cocok tidak dapat ditemukan.
WEAVE_ERROR_INVALID_ARGUMENT
Jika string jalur salah bentuk

KecocokanProfilId

bool MatchesProfileId(
  uint32_t aProfileId
) const 

Mengembalikan nilai true jika yang diteruskan di profileId cocok dengan yang disimpan dalam skema.

rincian
Mengembalikan Nilai
bool

Ambil Data

WEAVE_ERROR RetrieveData(
  PropertyPathHandle aHandle,
  uint64_t aTagToWrite,
  nl::Weave::TLV::TLVWriter & aWriter,
  IGetDataDelegate *aDelegate,
  IDirtyPathCut *apDirtyPathCut
) const 

Diberikan pegangan jalur dan posisi penulis pada elemen data yang sesuai, ambil data daun dari sumber dan tulis ke dalam buffer yang ditunjuk oleh penulis dengan cara yang sesuai dengan skema.

rincian
Mengembalikan Nilai
WEAVE_NO_ERROR
Pada kesuksesan.
other
Terjadi kesalahan saat menulis data.

RetrieveUpdatableDictionaryData

WEAVE_ERROR RetrieveUpdatableDictionaryData(
  PropertyPathHandle aHandle,
  uint64_t aTagToWrite,
  nl::Weave::TLV::TLVWriter & aWriter,
  IGetDataDelegate *aDelegate,
  PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom
) const 

Menyimpan data

WEAVE_ERROR StoreData(
  PropertyPathHandle aHandle,
  nl::Weave::TLV::TLVReader & aReader,
  ISetDataDelegate *aDelegate,
  IPathFilter *aPathFilter
) const 

Diberikan pegangan jalur dan pembaca yang diposisikan pada elemen data yang sesuai, proses buffer data yang ditunjuk oleh pembaca dan simpan ke dalam sink dengan menjalankan panggilan SetLeafData setiap kali item data daun ditemukan.

rincian
Mengembalikan Nilai
WEAVE_NO_ERROR
Pada kesuksesan.
other
Terjadi kesalahan saat mengurai/memproses data.