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 truy vấn hình ảnh có dạng:

Chiều dài Tên trường
biến URI
biến Quy cách phiên bản
biến Quy cách về tính toàn vẹn
1 byte Cập nhật lược đồ
1 byte Tùy 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 điều kiện
5 Trạng thái báo cáo. Khi được đặt, ứng dụng sẽ được yêu cầu tạo các thông báo DownloadNotifications và UpdateNotifications 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 này tạo thành hướng dẫn tải xuống cho nút đã gửi truy vấn. Lưu ý rằng trong trường hợp 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à hàm phá

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

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 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 không bắt buộc là DownloadNotifications và UpdateNotifications.
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 sử dụng thiết bị về thời điểm thực hiện cập nhật phần mềm.
updateScheme
uint8_t
Lược đồ cập nhật được dùng để tải hình ảnh cập nhật phần mềm xuống.
uri
Một chuỗi UTF-8 có độ dài thay đổi chứa vị trí của hình ảnh phần mềm.
versionSpec
Một chuỗi UTF-8 có độ dài thay đổi chứa thông tin nhận dạng phiên bản phần mềm của một nhà cung cấp cụ thể.

Hàm công khai

init(ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority, UpdateCondition, bool)
Khởi chạy đối tượng ImageQueryResponse một cách rõ ràng bằng các giá trị được cung cấp.
operator==(const ImageQueryResponse &) const
bool
Toán tử cân bằng.
pack(PacketBuffer *)
Chuyển đổi tuần tự 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.

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 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 không bắt buộc là DownloadNotifications và UpdateNotifications.

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 sử dụng thiết bị về thời điểm thực hiện cập nhật phần mềm.

updateScheme

uint8_t updateScheme

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

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

uri

ReferencedString uri

Một chuỗi UTF-8 có độ dài thay đổ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 theo thông số kỹ thuật RFC 3986. Đối với lược đồ cập nhật tương ứng với Giao thức Internet (HTTP, HTTPS, SFTP), phần tử lược đồ của URI PHẢI tuân theo bộ mã hoá URL chính tắc cho lược đồ giao thức đó. Độ dài chuỗi không được vượt quá 65565 và chuỗi phải nằm 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 thay đổi chứa thông tin nhận dạng phiên bản phần mềm của một nhà cung cấp cụ thể.

Độ 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.

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

init

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

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

Thông tin chi tiết
Các tham số
[in] aUri
URI nơi tìm thấy hình ảnh chương trình cơ sở mới.
[in] aVersion
Chuỗi phiên bản cho hình ảnh này.
[in] aIntegrity
Thông số về tính toàn vẹn tương ứng với hình ảnh mới.
[in] aScheme
Lược đồ cập nhật sử dụng trong quá trình tải xuống.
[in] aPriority
Mức độ ưu tiên của bản cập nhật liên kết với lần cập nhật này.
[in] aCondition
Điều kiện cần cập nhật.
[in] aReportStatus
Nếu true yêu cầu ứng dụng báo cáo sau khi tải xuống và cập nhật, nếu không thì ứng dụng sẽ không báo cáo.
Trả về
WEAVE_NO_ERROR Không có điều kiện.

toán tử==

bool operator==(
  const ImageQueryResponse &
) const 

Toán tử cân bằng.

Thông tin chi tiết
Các tham số
another
Một ImageQueryResponse để kiểm tra dựa trên ImageQueryResponse này
Trả về
giá trị true (đúng) nếu tất cả các trường trong cả hai đối tượng đều bằng nhau, nếu không thì false (sai)

gói

WEAVE_ERROR pack(
  PacketBuffer *
)

Chuyển đổi tuần tự ImageQueryResponse vào PacketBuffer được cung cấp.

Thông tin chi tiết
Các tham số
[in] aBuffer
Vùng đệm gói dùng để đó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 nên không vừa với vùng đệm được cung cấp.

in

void print(
  void
)

Hàm tĩnh công khai

parse

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.

Thông tin chi tiết
Các 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
Một đối tượng để đặt kết quả
Trả về
WEAVE_NO_ERROR Khi thành công
Trả về
WEAVE_ERROR_BUFFER_TOO_ cùng Nếu thư 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