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

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

Một lớp hỗ trợ việc tạo và giải mã thông báo phản hồi truy vấn hình ảnh.

Tóm tắt

Thông báo phản hồi cho truy vấn hình ảnh có dạng như sau:

Chiều dài Tên trường
biến thiên URI
biến thiên Thông số kỹ thuật của phiên bản
biến thiên Thông số kỹ thuật về tính toàn vẹn
1 byte Cập nhật giao thức
1 byte Lựa chọn cập nhật
Định dạng của trường tuỳ chọn cập nhật (không bắt buộc) như sau:

Bit Ý nghĩa
0..2 Cập nhật mức độ ưu tiên
3..4 Cập nhật tình trạng
5 Trạng thái báo cáo. Khi bạn đặt chính sách này, ứng dụng sẽ được yêu cầu tạo các thông báo DownloadNotify và UpdateNotify không bắt buộc.
5..7 Đã đặt trước
Phản hồi truy vấn hình ảnh chỉ được gửi trong trường hợp truy vấn hình ảnh được xử lý thành công và tạo ra hình ảnh để tải xuống. Thông báo cấu thành hướng dẫn tải xuống cho nút mà truy vấn đã gửi. Lưu ý rằng trong trường hợp máy chủ không xử lý được truy vấn hình ảnh, máy chủ sẽ tạo trạng thái truy vấn hình ảnh.

Hàm khởi tạo và phá huỷ

ImageQueryResponse()
Hàm khởi tạo mặc định cho ImageQueryResponse.

Các thuộc tính công khai

integritySpec
Một trường chứa thông tin về tính toàn vẹn (loại tính toàn vẹn và hàm băm) cho hình ảnh bản cập nhật phần mềm.
reportStatus
bool
Yêu cầu thông báo cho máy chủ về tiến trình cập nhật phần mềm qua thông báo DownloadNotify (Thông báo Tải xuống) và UpdateNotify (Thông báo cập nhật) không bắt buộc.
updateCondition
Hướng dẫn về các điều kiện để tiến hành cập nhật phần mềm.
updatePriority
Hướng dẫn chỉ dẫn thiết bị thời điểm cập nhật phần mềm.
updateScheme
uint8_t
Giao thức cập nhật được dùng để tải hình ảnh bản cập nhật phần mềm xuống.
uri
Một chuỗi UTF-8 có độ dài biến đổi chứa vị trí của hình ảnh phần mềm.
versionSpec
Một chuỗi UTF-8 có độ dài biến đổi chứa thông tin nhận dạng phiên bản phần mềm dành riêng cho nhà cung cấp.

Hàm công khai

init(ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority, UpdateCondition, bool)
Khởi tạo rõ ràng đối tượng ImageQueryResponse bằng các giá trị đã cung cấp.
operator==(const ImageQueryResponse &) const
bool
Toán tử đẳng thức.
pack(PacketBuffer *)
Tuần tự hoá ImageQueryResponse vào PacketBuffer được cung cấp.
print(void)
void

Hàm tĩnh công khai

parse(PacketBuffer *, ImageQueryResponse &)
Giải tuần tự thông báo phản hồi truy vấn hình ảnh được cung cấp trong PacketBuffer thành ImageQueryResponse được cung cấp.

Các thuộc tính công khai

integritySpec

IntegritySpec integritySpec

Một trường chứa thông tin về tính toàn vẹn (loại tính toàn vẹn và hàm băm) cho hình ảnh bản cập nhật phần mềm.

reportStatus

bool reportStatus

Yêu cầu thông báo cho máy chủ về tiến trình cập nhật phần mềm qua thông báo DownloadNotify (Thông báo Tải xuống) và UpdateNotify (Thông báo cập nhật) không bắt buộc.

updateCondition

UpdateCondition updateCondition

Hướng dẫn về các điều kiện để tiến hành cập nhật phần mềm.

updatePriority

UpdatePriority updatePriority

Hướng dẫn chỉ dẫn thiết bị thời điểm cập nhật phần mềm.

updateScheme

uint8_t updateScheme

Giao thức cập nhật được dùng để tải hình ảnh bản cập nhật phần mềm xuống.

Giá trị của lớp này được lấy từ UpdateSchemes.

uri

ReferencedString uri

Một chuỗi UTF-8 có độ dài biến đổi chứa vị trí của hình ảnh phần mềm.

Nội dung của chuỗi này phải tuân thủ thông số kỹ thuật RFC 3986. Đối với các giao thức cập nhật tương ứng với một Giao thức Internet (HTTP, HTTPS, SFTP) được xác định rõ ràng, thành phần giao thức của URI PHẢI tuân theo phương thức mã hoá URL chính tắc cho giao thức đó. Độ dài chuỗi không được vượt quá 65565 và chuỗi phải vừa trong một thông báo Weave duy nhất, điều này có thể tuân theo các giới hạn của MTU.

versionSpec

ReferencedString versionSpec

Một chuỗi UTF-8 có độ dài biến đổi chứa thông tin nhận dạng phiên bản phần mềm dành riêng cho nhà cung cấp.

Độ dài chuỗi không được vượt quá 256 byte.

Hàm công khai

ImageQueryResponse

 ImageQueryResponse()

Hàm khởi tạo mặc định cho ImageQueryResponse.

ImageQueryResponse có thể được điền sẵn bằng cách thông qua phương thức init() hoặc bằng cách giải tuần tự đối tượng trong một thông báo.

khởi tạo

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

Khởi tạo rõ ràng đối tượng ImageQueryResponse bằng các giá trị đã cung cấp.

Chi tiết
Tham số
[in] aUri
URI mà tại đó hình ảnh chương trình cơ sở mới sẽ được tìm thấy.
[in] aVersion
Chuỗi phiên bản cho hình ảnh này.
[in] aIntegrity
Thông số kỹ thuật về tính toàn vẹn tương ứng với hình ảnh mới.
[in] aScheme
Giao thức cập nhật để sử dụng khi tải xuống.
[in] aPriority
Mức độ ưu tiên của bản cập nhật liên quan đến bản cập nhật này.
[in] aCondition
Điều kiện để cập nhật.
[in] aReportStatus
Nếu giá trị true yêu cầu ứng dụng báo cáo sau khi tải xuống và cập nhật, thì nếu không, ứng dụng sẽ không báo cáo.
Trả về
WEAVE_NO_ERROR Vô điều kiện.

toán tử==

bool operator==(
  const ImageQueryResponse &
) const 

Toán tử đẳng thức.

Chi tiết
Tham số
another
Một ImageQueryResponse để kiểm tra dựa trên ImageQueryResponse này
Trả về
true nếu tất cả các trường trong cả hai đối tượng đều bằng nhau, false nếu không đáp ứng yêu cầu

gói

WEAVE_ERROR pack(
  PacketBuffer *
)

Tuần tự hoá ImageQueryResponse vào PacketBuffer được cung cấp.

Chi tiết
Tham số
[in] aBuffer
Một vùng đệm gói để đóng gói phản hồi truy vấn
Giá trị trả về
WEAVE_NO_ERROR
Khi thành công.
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu ImageQueryResponse quá lớn để vừa với vùng đệm được cung cấp.

in

void print(
  void
)

Hàm tĩnh công khai

phân tích cú pháp

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

Giải tuần tự thông báo phản hồi truy vấn hình ảnh được cung cấp trong PacketBuffer thành ImageQueryResponse được cung cấp.

Chi tiết
Tham số
[in] aBuffer
Con trỏ trỏ đến một gói để phân tích cú pháp truy vấn hình ảnh
[in] aResponse
Đối tượng để đưa kết quả vào
Trả về
WEAVE_NO_ERROR Khi thành công
Trả về
WEAVE_ERROR_BUFFER_TOO_Small Nếu thông báo quá nhỏ để chứa tất cả các trường của ImageQuery
Trả về
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Nếu loại tính toàn vẹn được cung cấp không phải là một trong các giá trị được chỉ định trong IntegrityTypes