nl::Weave::โปรไฟล์::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

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

สถานะรายงาน

bool reportStatus

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

updateCondition

UpdateCondition updateCondition

คําแนะนําเกี่ยวกับเงื่อนไขเพื่อดําเนินการอัปเดตซอฟต์แวร์

ลําดับความสําคัญของการอัปเดต

UpdatePriority updatePriority

คําแนะนําในการส่งอุปกรณ์ไปอัปเดตซอฟต์แวร์เมื่อใด

updateScheme

uint8_t updateScheme

รูปแบบที่อัปเดตเพื่อใช้ดาวน์โหลดรูปภาพการอัปเดตซอฟต์แวร์

ซึ่งได้รับมาจาก UpdateSchemes

URI

ReferencedString uri

สตริง UTF-8 ที่มีความยาวแปรผันซึ่งประกอบด้วยตําแหน่งของรูปภาพซอฟต์แวร์

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

ข้อกําหนดของเวอร์ชัน

ReferencedString versionSpec

สตริง UTF-8 ที่มีความยาวแปรผันเป็นตัวระบุผู้ให้บริการเฉพาะ

สตริงต้องมีขนาดไม่เกิน 256 ไบต์

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

การตอบสนองการค้นหารูปภาพ

 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 ขอให้ไคลเอ็นต์รายงานหลังจากดาวน์โหลดและอัปเดต มิเช่นนั้นไคลเอ็นต์จะไม่รายงาน
การคืนสินค้า
WEhave_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
ออบเจ็กต์ที่จะใส่ผลลัพธ์
การคืนสินค้า
WEhave_NO_ERROR สําเร็จแล้ว
การคืนสินค้า
WEhave_ERROR_BUFFER_TOO_small หากข้อความมีขนาดเล็กเกินกว่าที่จะมีช่องทั้งหมดของ ImageQuery
การคืนสินค้า
WEhave_ERROR_INVALID_INTEGRITY_TYPE หากประเภทความสมบูรณ์ที่ระบุไม่ใช่ค่าใดค่าหนึ่งที่ระบุใน IntegrityTypes