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

ชั้นเรียนนี้เป็นชั้นนามธรรม

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

คลาสเสริม ProfileDatabase สมมติ

สรุป

WDM จะแยกการใช้โปรโตคอลออกจากการใช้งานการจัดการข้อมูล และโดยหลักการแล้ว จะปล่อยให้ผู้พัฒนาซอฟต์แวร์แอปพลิเคชันเป็นผู้ใช้งานโปรโตคอลส่วนใหญ่ การเรียกที่น่าสนใจทั้งหมดใน WDM และเมธอด Abstract ทั้งหมดที่นักพัฒนาซอฟต์แวร์โปรไฟล์จำเป็นต้องใช้สำหรับรายการเส้นทางหรือรายการข้อมูลที่เข้ารหัส 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
)