nl:: Weave:: Profiles:: SoftwareUpdate:: ImageQuery
#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>
คลาสที่สนับสนุนการสร้างและการถอดรหัสข้อความค้นหารูปภาพ
สรุป
เฟรมข้อความค้นหารูปภาพมีรูปแบบต่อไปนี้ผ่านสายไฟ
| ความยาว | ชื่อช่อง |
| 1 ไบต์ | การควบคุมเฟรม |
| 6 ไบต์ | ข้อมูลจำเพาะของผลิตภัณฑ์ |
| เปลี่ยนแปลงได้ | ข้อกําหนดของเวอร์ชัน |
| 2..4 ไบต์ | รายการประเภทความสมบูรณ์ |
| 2..5 ไบต์ | อัปเดตรายการรูปแบบ |
| เปลี่ยนแปลงได้ | ข้อกำหนดภาษา (ไม่บังคับ) |
| 8 ไบต์ | รหัสโหนดเป้าหมาย |
| เปลี่ยนแปลงได้ | ข้อมูลเฉพาะผู้ให้บริการ (ไม่บังคับ) |
| ดอกสว่าน | ความหมาย |
| 0 | 1 - มีข้อมูลเฉพาะผู้ให้บริการ, 0 - ไม่มี |
| 1 | 1 - มีข้อกำหนดภาษาถิ่น, 0 - ไม่มี |
| 2 | 1 - มีรหัสโหนดเป้าหมาย, 0 - ไม่มี |
| 3..7 | จองแล้ว |
ผู้ผลิตและผู้ทำลาย |
|
|---|---|
ImageQuery()
ตัวสร้างเริ่มต้นสำหรับ ImageQuery
|
แอตทริบิวต์สาธารณะ |
|
|---|---|
integrityTypes
|
ประเภทความสมบูรณ์ที่อุปกรณ์รองรับ
|
localeSpec
|
สตริง UTF-8 ความยาวตัวแปรที่มีภาษา POSIX ที่มีผลในอุปกรณ์ที่จะใช้การค้นหารูปภาพ
|
packageSpec
|
สตริง UTF-8 ความยาวตัวแปรซึ่งมีสตริงข้อกำหนดแพ็กเกจเฉพาะผู้ให้บริการ
|
productSpec
|
ข้อมูลจำเพาะของผลิตภัณฑ์ที่อธิบายอุปกรณ์ที่กำลังค้นหารูปภาพ
|
targetNodeId
|
uint64_t
รหัสโหนดที่ไม่บังคับของอุปกรณ์ที่สร้างการค้นหา
|
theMetaData
|
ช่องข้อมูลเฉพาะผู้ให้บริการจะมีความยาวไม่แปรผันและใช้พื้นที่ส่วนที่เหลือของเพย์โหลดข้อความ Weave นอกเหนือจากช่องที่อธิบายข้างต้น
|
updateSchemes
|
อัปเดตรูปแบบ (โปรโตคอลการดาวน์โหลด) ที่อุปกรณ์รองรับ
|
version
|
สตริง UTF-8 ที่มีความยาวแปรผันซึ่งมีเวอร์ชันซอฟต์แวร์ที่ระบุโดยผู้ให้บริการของอุปกรณ์ที่สร้างการค้นหา
|
ฟังก์ชันสาธารณะ |
|
|---|---|
init(ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData)
|
เริ่มต้นออบเจ็กต์ ImageQuery อย่างชัดแจ้งด้วยค่าที่ระบุ
|
operator==(const ImageQuery &) const
|
bool
โอเปอเรเตอร์ความเท่าเทียม
|
pack(PacketBuffer *)
|
ทำให้ ImageQuery พื้นฐานที่ระบุเป็นซีเรียลลงใน PacketBuffer ที่ระบุ
|
print(void)
|
void
|
ฟังก์ชันสาธารณะแบบคงที่ |
|
|---|---|
parse(PacketBuffer *, ImageQuery &)
|
ดีซีเรียลไลซ์ข้อความการค้นหารูปภาพที่ระบุใน PacketBuffer ลงใน ImageQuery ที่ระบุไว้
|
แอตทริบิวต์สาธารณะ
localeSpec
ReferencedString localeSpec
สตริง UTF-8 ความยาวตัวแปรที่มีภาษา POSIX ที่มีผลในอุปกรณ์ที่จะใช้การค้นหารูปภาพ
เนื้อหาของสตริงต้องสอดคล้องกับรูปแบบตัวระบุสถานที่ POSIX ตามที่ระบุไว้ใน ISO/IEC 15897 เช่น en_AU.UTF-8 สำหรับภาษาอังกฤษแบบออสเตรเลีย
packageSpec
ReferencedString packageSpec
สตริง UTF-8 ความยาวตัวแปรซึ่งมีสตริงข้อกำหนดแพ็กเกจเฉพาะผู้ให้บริการ
เนื้อหาในช่องจะอธิบายประเภทคอนเทนเนอร์ที่ต้องการสำหรับอิมเมจซอฟต์แวร์ เช่น "rpm", "deb", "tgz", "elf" ฯลฯ (หมายเหตุ: ไม่ได้ใช้ช่องนี้ในการใช้งานโปรโตคอลของ Nest)
targetNodeId
uint64_t targetNodeId
รหัสโหนดที่ไม่บังคับของอุปกรณ์ที่สร้างการค้นหา
ช่องรหัสโหนดเป้าหมายจะมีหรือไม่มีก็ได้ หากไม่มี รหัสโหนดเป้าหมายสำหรับการค้นหาจะเป็นโหนดต้นทางของข้อความค้นหารูปภาพโดยปริยาย
โดยทั่วไปแล้ว ช่องรหัสโหนดเป้าหมายจะใช้ในกรณีที่โหนดที่เป็นแหล่งที่มาของข้อความ IMAGE QUERY แสดงเป็นพร็อกซีการอัปเดตซอฟต์แวร์สำหรับโหนดอื่น
theMetaData
ReferencedTLVData theMetaData
ช่องข้อมูลเฉพาะผู้ให้บริการจะมีความยาวไม่แปรผันและใช้พื้นที่ส่วนที่เหลือของเพย์โหลดข้อความ Weave นอกเหนือจากช่องที่อธิบายข้างต้น
ช่องนี้จะเข้ารหัสข้อมูลเฉพาะผู้ให้บริการเกี่ยวกับอุปกรณ์ในการค้นหา ช่องข้อมูลเฉพาะผู้ให้บริการเป็นช่องที่ไม่บังคับ หากมี ช่องนี้จะมีรูปแบบโครงสร้างที่เข้ารหัส TLV แบบไม่ระบุชื่อ แท็กที่แสดงในโครงสร้างนี้จะต้องเป็นแท็กเฉพาะโปรไฟล์ที่มีคุณสมบัติครบถ้วน
เวอร์ชัน
ReferencedString version
สตริง UTF-8 ที่มีความยาวแปรผันซึ่งมีเวอร์ชันซอฟต์แวร์ที่ระบุโดยผู้ให้บริการของอุปกรณ์ที่สร้างการค้นหา
ต้องมีความยาว 32 หรือต่ำกว่า
ฟังก์ชันสาธารณะ
ImageQuery
ImageQuery()
ตัวสร้างเริ่มต้นสำหรับ ImageQuery
ImageQuery อาจมีการเติมข้อมูลด้วยการเรียกใช้ init() หรือโดยการทำดีซีเรียลไลซ์ออบเจ็กต์จากข้อความ
Init
WEAVE_ERROR init( ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData )
เริ่มต้นออบเจ็กต์ ImageQuery อย่างชัดแจ้งด้วยค่าที่ระบุ
| รายละเอียด | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||||||||||||
| การคืนสินค้า |
WEAVE_NO_ERROR โดยไม่มีเงื่อนไข
|
||||||||||||||||
โอเปอเรเตอร์==
bool operator==( const ImageQuery & ) const
โอเปอเรเตอร์ความเท่าเทียม
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
| การคืนสินค้า |
"จริง" หากทุกฟิลด์ในออบเจ็กต์ทั้งสองเท่ากัน หรือเป็นเท็จ
|
||
แพ็ก
WEAVE_ERROR pack( PacketBuffer * )
ทำให้ ImageQuery ที่เกี่ยวข้องเป็นซีเรียลลงใน PacketBuffer ที่ระบุ
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
| ผลลัพธ์ |
|
||||
พิมพ์
void print( void )
ฟังก์ชันสาธารณะแบบคงที่
แยกวิเคราะห์
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
ดีซีเรียลไลซ์ข้อความการค้นหารูปภาพที่ให้ไว้ใน PacketBuffer ลงใน ImageQuery ที่ระบุไว้
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
| การคืนสินค้า |
WEAVE_NO_ERROR สำหรับความสำเร็จ
|
||||
| การคืนสินค้า |
WEAVE_ERROR_BUFFER_TOO_SMALL ถ้าข้อความมีขนาดเล็กเกินกว่าจะมีช่องทั้งหมดของ ImageQuery อยู่
|
||||
| การคืนสินค้า |
WEAVE_ERROR_INVALID_LIST_LENGTH ถ้าข้อความมี IntegrityTypeList หรือ UpdateSchemeList ยาวเกินไป
|
||||