nl::Weave::Profiles::SoftwareUpdate::ImageQueryResponse

#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>

คลาสที่รองรับการสร้างและการถอดรหัสข้อความตอบกลับการค้นหารูปภาพ

สรุป

ข้อความตอบกลับการค้นหารูปภาพจะมีรูปแบบ:

ความยาว ชื่อช่อง
เปลี่ยนแปลงได้ URI
เปลี่ยนแปลงได้ ข้อกําหนดของเวอร์ชัน
เปลี่ยนแปลงได้ ข้อกําหนดด้านความสมบูรณ์
1 ไบต์ อัปเดตรูปแบบ
1 ไบต์ อัปเดตตัวเลือก
รูปแบบของช่องตัวเลือกการอัปเดต (ไม่บังคับ) มีดังนี้

ดอกสว่าน ความหมาย
0..2 อัปเดตลำดับความสำคัญ
3..4 อัปเดตสภาพสินค้า
5 สถานะรายงาน เมื่อตั้งค่าแล้ว ระบบจะขอให้ไคลเอ็นต์สร้างข้อความ DownloadNotify และ UpdateNotify ที่ไม่บังคับ
5..7 จองแล้ว
คำตอบการค้นหารูปภาพจะส่งเฉพาะกรณีที่การค้นหารูปภาพได้รับการประมวลผลสำเร็จ และสร้างรูปภาพเพื่อดาวน์โหลด ข้อความจะประกอบด้วยคำแนะนำการดาวน์โหลดสำหรับโหนดของคำค้นหาที่ส่งมา โปรดทราบว่าในกรณีที่เซิร์ฟเวอร์ไม่สามารถประมวลผลการค้นหารูปภาพ เซิร์ฟเวอร์จะสร้างสถานะการค้นหารูปภาพ

ผู้ผลิตและผู้ทำลาย

ImageQueryResponse()
ตัวสร้างเริ่มต้นสำหรับ ImageQueryResponse

แอตทริบิวต์สาธารณะ

integritySpec
ช่องที่มีข้อมูลความสมบูรณ์ (ประเภทความสมบูรณ์และแฮช) สำหรับอิมเมจการอัปเดตซอฟต์แวร์
reportStatus
bool
ส่งคำขอแจ้งให้เซิร์ฟเวอร์ทราบเกี่ยวกับความคืบหน้าของการอัปเดตซอฟต์แวร์ผ่านข้อความ DownloadNotify และ UpdateNotify ที่ไม่บังคับ
updateCondition
คำแนะนำสำหรับเงื่อนไขต่างๆ ที่จะดำเนินการอัปเดตซอฟต์แวร์ต่อ
updatePriority
คำแนะนำในการกำหนดอุปกรณ์ว่าจะอัปเดตซอฟต์แวร์เมื่อใด
updateScheme
uint8_t
รูปแบบการอัปเดตที่จะใช้ในการดาวน์โหลดอิมเมจการอัปเดตซอฟต์แวร์
uri
สตริง UTF-8 ที่มีความยาวแปรผันซึ่งมีตำแหน่งของอิมเมจซอฟต์แวร์
versionSpec
สตริง UTF-8 ความยาวตัวแปรซึ่งมีการระบุเวอร์ชันของซอฟต์แวร์เฉพาะผู้ให้บริการ

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

init(ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority, UpdateCondition, bool)
เริ่มต้นออบเจ็กต์ ImageQueryResponse อย่างชัดแจ้งด้วยค่าที่ระบุ
operator==(const ImageQueryResponse &) const
bool
โอเปอเรเตอร์ความเท่าเทียม
pack(PacketBuffer *)
ทำให้ ImageQueryResponse เป็นอนุกรมลงใน PacketBuffer ที่ระบุ
print(void)
void

ฟังก์ชันสาธารณะแบบคงที่

parse(PacketBuffer *, ImageQueryResponse &)
ดีซีเรียลไลซ์ข้อความตอบกลับการค้นหารูปภาพที่ให้ไว้ใน PacketBuffer ลงใน ImageQueryResponse ที่ระบุ

แอตทริบิวต์สาธารณะ

integritySpec

IntegritySpec integritySpec

ช่องที่มีข้อมูลความสมบูรณ์ (ประเภทความสมบูรณ์และแฮช) สำหรับอิมเมจการอัปเดตซอฟต์แวร์

reportStatus

bool reportStatus

ส่งคำขอแจ้งเซิร์ฟเวอร์เกี่ยวกับความคืบหน้าของการอัปเดตซอฟต์แวร์ผ่านข้อความ DownloadNotify และ UpdateNotify ที่ไม่บังคับ

updateCondition

UpdateCondition updateCondition

คำแนะนำสำหรับเงื่อนไขต่างๆ ที่จะดำเนินการอัปเดตซอฟต์แวร์ต่อ

updatePriority

UpdatePriority updatePriority

คำแนะนำสำหรับอุปกรณ์ว่าจะอัปเดตซอฟต์แวร์เมื่อใด

updateScheme

uint8_t updateScheme

รูปแบบการอัปเดตที่จะใช้ในการดาวน์โหลดอิมเมจการอัปเดตซอฟต์แวร์

ค่าของส่วนนี้มาจาก UpdateSchemes

URI

ReferencedString uri

สตริง UTF-8 ที่มีความยาวแปรผันซึ่งมีตำแหน่งของอิมเมจซอฟต์แวร์

เนื้อหาของสตริงนี้ต้องเป็นไปตามข้อกำหนดเฉพาะ RFC 3986 สำหรับรูปแบบการอัปเดตที่สอดคล้องกับ Internet Protocol (HTTP, HTTPS, SFTP) ที่กำหนดไว้เป็นอย่างดี องค์ประกอบรูปแบบของ URI ต้องสอดคล้องกับการเข้ารหัส Canonical URL ของโปรโตคอลดังกล่าว สตริงต้องมีความยาวไม่เกิน 65565 และสตริงต้องมีขนาดไม่เกิน 1 ข้อความ Weave เดียว ซึ่งอาจขึ้นอยู่กับข้อจํากัดของ MTU

versionSpec

ReferencedString versionSpec

สตริง UTF-8 ความยาวตัวแปรซึ่งมีการระบุเวอร์ชันของซอฟต์แวร์เฉพาะผู้ให้บริการ

สตริงต้องมีความยาวไม่เกิน 256 ไบต์

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

ImageQueryResponse

 ImageQueryResponse()

ตัวสร้างเริ่มต้นสำหรับ ImageQueryResponse

ImageQueryResponse อาจมีการเติมข้อมูลโดยผ่านเมธอด init() หรือโดยการทำดีซีเรียลไลซ์ออบเจ็กต์จากข้อความ

Init

WEAVE_ERROR init(
  ReferencedString &,
  ReferencedString &,
  IntegritySpec &,
  uint8_t,
  UpdatePriority,
  UpdateCondition,
  bool
)

เริ่มต้นออบเจ็กต์ ImageQueryResponse อย่างชัดแจ้งด้วยค่าที่ระบุ

รายละเอียด
พารามิเตอร์
[in] aUri
URI ที่ใช้ค้นหาอิมเมจเฟิร์มแวร์ใหม่
[in] aVersion
สตริงเวอร์ชันสำหรับรูปภาพนี้
[in] aIntegrity
ข้อกำหนดความสมบูรณ์ที่สอดคล้องกับรูปภาพใหม่
[in] aScheme
รูปแบบการอัปเดตที่จะใช้ในการดาวน์โหลด
[in] aPriority
ลำดับความสำคัญของการอัปเดตที่เชื่อมโยงกับการอัปเดตนี้
[in] aCondition
เงื่อนไขที่จะอัปเดต
[in] aReportStatus
หาก "จริง" ขอให้ไคลเอ็นต์รายงานหลังจากดาวน์โหลดและอัปเดต มิเช่นนั้นไคลเอ็นต์จะไม่รายงาน
การคืนสินค้า
WEAVE_NO_ERROR โดยไม่มีเงื่อนไข

โอเปอเรเตอร์==

bool operator==(
  const ImageQueryResponse &
) const 

โอเปอเรเตอร์ความเท่าเทียม

รายละเอียด
พารามิเตอร์
another
ImageQueryResponse เพื่อตรวจสอบกับ ImageQueryResponse นี้
การคืนสินค้า
"จริง" หากทุกฟิลด์ในออบเจ็กต์ทั้งสองเท่ากัน หรือเป็นเท็จ

แพ็ก

WEAVE_ERROR pack(
  PacketBuffer *
)

ทำให้ ImageQueryResponse เป็นอนุกรมลงใน PacketBuffer ที่ระบุ

รายละเอียด
พารามิเตอร์
[in] aBuffer
บัฟเฟอร์แพ็กเก็ตที่จะแพ็คคำตอบการค้นหา
ผลลัพธ์
WEAVE_NO_ERROR
สำเร็จแล้ว
WEAVE_ERROR_BUFFER_TOO_SMALL
หาก ImageQueryResponse ใหญ่เกินกว่าจะพอดีกับบัฟเฟอร์ที่ให้มา

พิมพ์

void print(
  void
)

ฟังก์ชันสาธารณะแบบคงที่

แยกวิเคราะห์

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

ดีซีเรียลไลซ์ข้อความตอบกลับการค้นหารูปภาพที่ให้ไว้ใน PacketBuffer ลงใน ImageQueryResponse ที่ระบุ

รายละเอียด
พารามิเตอร์
[in] aBuffer
ตัวชี้ไปยังแพ็กเก็ตที่จะใช้แยกวิเคราะห์การค้นหารูปภาพ
[in] aResponse
ออบเจ็กต์ที่จะใส่ผลลัพธ์
การคืนสินค้า
WEAVE_NO_ERROR สำหรับความสำเร็จ
การคืนสินค้า
WEAVE_ERROR_BUFFER_TOO_SMALL ถ้าข้อความมีขนาดเล็กเกินกว่าจะมีช่องทั้งหมดของ ImageQuery อยู่
การคืนสินค้า
WEAVE_ERROR_INVALID_INTEGRITY_TYPE หากประเภทความสมบูรณ์ที่ระบุไม่ใช่ค่าใดค่าหนึ่งที่ระบุใน IntegrityTypes