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

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

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

สรุป

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

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

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

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

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

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

integritySpec
ช่องที่มีข้อมูลความสมบูรณ์ (ประเภทความสมบูรณ์และแฮช) สำหรับอิมเมจการอัปเดตซอฟต์แวร์
reportStatus
bool
ส่งคำขอให้แจ้งเซิร์ฟเวอร์เกี่ยวกับความคืบหน้าของการอัปเดตซอฟต์แวร์ผ่านข้อความ DownloadCancel และ UpdateNotifications ที่เป็นตัวเลือก
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

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

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 และสตริงต้องอยู่ภายในข้อความ 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
หาก true ขอให้ไคลเอ็นต์รายงานหลังจากดาวน์โหลดและอัปเดตแล้ว ไม่เช่นนั้นไคลเอ็นต์จะไม่รายงาน
การส่งคืน
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
)

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

parse

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