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

นี่คือคลาสนามธรรม

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

คลาสเสริม ProfileDatabase นามธรรม

สรุป

WDM แยกการใช้โปรโตคอลออกจากการติดตั้งใช้งานการจัดการข้อมูล และอย่างน้อยโดยหลักการแล้ว แนวทางที่เหลือมักจะเป็นนักพัฒนาแอปพลิเคชัน การเรียกที่น่าสนใจทั้งหมดใน WDM และวิธีการเชิงนามธรรมทั้งหมดที่นักพัฒนาโปรไฟล์ต้องใช้ในการรับรายการเส้นทางหรือรายการข้อมูลที่เข้ารหัส TLV ซึ่งจะสร้างภาระให้กับนักพัฒนาโปรไฟล์ และในทางปฏิบัติจะก่อให้เกิดการทำซ้ำโค้ดจำนวนมากเนื่องจากนักพัฒนาซอฟต์แวร์เขียนโค้ดเดียวกันสำหรับการบรรจุและคลายการแพคข้อมูล TLV และอื่นๆ เรามี "ชุดเครื่องมือการจัดการข้อมูล" ที่ช่วยอำนวยความสะดวกในการทำงาน

คลาสเสริมนี้รองรับการจัดเก็บและเรียกข้อมูลในกรณีที่มีการจัดเตรียมและเพิ่มคลาสย่อย ProfileData ที่เป็นรูปธรรมและเพิ่มไปยังเมธอด LookupProfileData() ด้านล่างแล้ว

ฟังก์ชันสาธารณะ

LookupDataFromProfileDescriptor(nl::Weave::TLV::TLVReader & aDescReader, ProfileData **aProfileData)
ค้นหาออบเจ็กต์ ProfileData ในฐานข้อมูล
LookupProfileData(nl::Weave::TLV::TLVReader & aPathReader, ProfileData **aProfileData)
ค้นหาออบเจ็กต์ ProfileData ในฐานข้อมูล
LookupProfileData(uint32_t aProfileId, nl::Weave::TLV::TLVReader *aInstanceIdRdr, ProfileData **aResult)=0
virtual WEAVE_ERROR
มองหาออบเจ็กต์ ProfileData
Retrieve(ReferencedTLVData & aPathList, ReferencedTLVData & aDataList)
ดึงรายการข้อมูลที่ระบุรายการเส้นทาง
Retrieve(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVWriter & aWriter)
เขียนรายการข้อมูลพร้อมรายการเส้นทาง
Store(ReferencedTLVData & aDataList)
จัดเก็บรายการข้อมูล

ฟังก์ชันที่มีการป้องกัน

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

คลาส

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

คลาสช่วยเสริม ProfileData ภายใน

ฟังก์ชันสาธารณะ

LookupDataFromProfileDescriptor

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

ค้นหาออบเจ็กต์ ProfileData ในฐานข้อมูล

เมธอดยูทิลิตีนี้ใช้เพื่อค้นหาออบเจ็กต์ ProfileData ใน ProfileDatabase บางรายการ ซึ่งส่วนใหญ่แล้วจะขึ้นอยู่กับวิธีการค้นหาที่กำหนดโดยผู้ติดตั้งใช้งานคลาสย่อย ProfileDatabase ที่เป็นรูปธรรม

รายละเอียด
พารามิเตอร์
[in] aDescReader
การอ้างอิงไปยังเครื่องอ่าน TLV ที่วางไว้ที่เส้นทาง WDM นั่นคือ เส้นทาง TLV ที่มีคำอธิบายโปรไฟล์เป็นองค์ประกอบแรก
[out] aProfileData
ตัวชี้ที่มีไว้เพื่อส่งคืนตัวชี้ไปยังออบเจ็กต์ ProfileData ที่สนใจ
การส่งคืน
WEAVE_NO_ERROR เมื่อสำเร็จแล้ว หรือจะแสดง WEAVE_ERROR ซึ่งระบุว่าไม่พบออบเจ็กต์ ProfileData ที่ตรงกัน

LookupProfileData

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

ค้นหาออบเจ็กต์ ProfileData ในฐานข้อมูล

เมธอดยูทิลิตีนี้ใช้เพื่อค้นหาออบเจ็กต์ ProfileData ใน ProfileDatabase บางรายการ ซึ่งส่วนใหญ่แล้วจะขึ้นอยู่กับวิธีการค้นหาที่กำหนดโดยผู้ติดตั้งใช้งานคลาสย่อย ProfileDatabase ที่เป็นรูปธรรม

รายละเอียด
พารามิเตอร์
[in] aPathReader
การอ้างอิงไปยังเครื่องอ่าน TLV ที่วางไว้ที่เส้นทาง WDM นั่นคือ เส้นทาง TLV ที่มีคำอธิบายโปรไฟล์เป็นองค์ประกอบแรก
[out] aProfileData
ตัวชี้ที่มีไว้เพื่อส่งคืนตัวชี้ไปยังออบเจ็กต์ ProfileData ที่สนใจ
การส่งคืน
WEAVE_NO_ERROR เมื่อสำเร็จแล้ว หรือจะแสดง WEAVE_ERROR ซึ่งระบุว่าไม่พบออบเจ็กต์ ProfileData ที่ตรงกัน

LookupProfileData

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

มองหาออบเจ็กต์ ProfileData

ค้นหาออบเจ็กต์ ProfileData ที่เจาะจงโดยระบุรหัสโปรไฟล์และรหัสอินสแตนซ์ (ไม่บังคับ)< ที่ระบุเป็นโปรแกรมอ่าน TLV

รายละเอียด
พารามิเตอร์
[in] aProfileId
หมายเลขโปรไฟล์ 32 บิตของโปรไฟล์ที่สนใจ
[in] aInstanceIdRdr
ตัวชี้ไปยังเครื่องอ่าน TLV ที่วางไว้ที่ข้อมูลตัวระบุอินสแตนซ์ หากไม่มีตัวระบุอินสแตนซ์ พารามิเตอร์นี้จะเป็น NULL
[out] aResult
ตัวชี้ที่มีไว้เพื่อส่งคืนตัวชี้ไปยังออบเจ็กต์ ProfileData ที่สนใจ
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ มิฉะนั้น จะแสดงผล WEAVE_ERROR ซึ่งแสดงว่าไม่สามารถค้นหาออบเจ็กต์ ProfileData

เรียกข้อมูล

WEAVE_ERROR Retrieve(
  ReferencedTLVData & aPathList,
  ReferencedTLVData & aDataList
)

ดึงรายการข้อมูลที่ระบุรายการเส้นทาง

จากรายการของเส้นทาง ให้ดึงรายการข้อมูลที่มีองค์ประกอบรายการข้อมูลสำหรับแต่ละเส้นทางในพาธจากรายการข้อมูลที่เป็นปลายทางของเส้นทางนั้น

รายละเอียด
พารามิเตอร์
[in] aPathList
การอ้างอิงไปยังออบเจ็กต์ ReferencedTLVData ที่มีรายการเส้นทางที่เข้ารหัส TLV ซึ่งแสดงข้อมูลที่จะดึง พารามิเตอร์นี้จะคงที่ตลอดการทำงานของฟังก์ชันนี้
[out] aDataList
การอ้างอิงไปยังออบเจ็กต์ ReferencedTLVData ที่จะเขียนผลลัพธ์ที่ดึงมา ระบบจะปรับความยาวของข้อมูลหลังจากเรียกใช้ฟังก์ชันนี้เสร็จสมบูรณ์แล้วเท่านั้น
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ ไม่เช่นนั้นจะแสดงผล WEAVE_ERROR ซึ่งแสดงว่าไม่สามารถเรียกรายการข้อมูลที่สนใจ

เรียกข้อมูล

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

เขียนรายการข้อมูลพร้อมรายการเส้นทาง

โดยใช้รายการเส้นทางและผู้เขียน TLV เขียนรายการข้อมูลที่มีองค์ประกอบรายการข้อมูลสำหรับแต่ละเส้นทางในรายการเส้นทางและข้อมูลที่เป็นปลายทางของเส้นทางนั้น

รายละเอียด
พารามิเตอร์
[in] aPathList
การอ้างอิงไปยังออบเจ็กต์ ReferencedTLVData ที่มีรายการเส้นทาง TLV ซึ่งแสดงข้อมูลที่จะดึง พารามิเตอร์นี้จะคงที่ตลอดการทำงานของฟังก์ชันนี้
[in] aWriter
การอ้างอิงผู้เขียน TLV เพื่อใช้ในการเขียนรายการเส้นทางที่ดึงมา หากเกิดข้อผิดพลาด จะไม่สามารถกู้คืนสถานะภายในของผู้เขียนได้
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ ไม่เช่นนั้น ให้แสดงผล WEAVE_ERROR ซึ่งแสดงว่าไม่สามารถเรียกข้อมูลหรือเขียนรายการข้อมูลที่สนใจไว้

ร้านค้า

WEAVE_ERROR Store(
  ReferencedTLVData & aDataList
)

จัดเก็บรายการข้อมูล

โดยใช้รายการข้อมูลที่เข้ารหัส TLV วิธีการนี้จะต้องผ่านขั้นตอนการแยกวิเคราะห์รายการดังกล่าวและเรียกวิธีการที่เป็นรูปธรรมจากผู้ติดตั้งใช้งานคลาสย่อย ProfileDatabase เพื่อวางข้อมูลอ้างอิงในข้อมูลดังกล่าว

รายละเอียด
พารามิเตอร์
[in] aDataList
การอ้างอิงไปยังออบเจ็กต์ ReferencedTLVData ที่มีข้อมูลที่สนใจในรูปแบบที่เข้ารหัส TLV
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ ไม่เช่นนั้นจะแสดงผล WEAVE_ERROR ซึ่งระบุว่าไม่สามารถจัดเก็บข้อมูลที่สนใจได้

ฟังก์ชันที่มีการป้องกัน

StoreInternal

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