nl::Weave::Profiles::SoftwareUpdate::IntegritySpec

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

Một lớp phụ lưu giữ loại tính toàn vẹn và hàm băm thực tế của hình ảnh cập nhật phần mềm.

Tóm tắt

Đối tượng chứa trường IntegrityTypes chỉ định loại hàm băm và hàm băm thực tế của hình ảnh cập nhật phần mềm. Độ dài hàm băm được cố định dựa trên loại hàm băm. Đối tượng có kích thước chứa được hàm băm lớn nhất được hỗ trợ.

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

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

Thuộc tính công khai

type
uint8_t
Loại hàm băm, giá trị cần vẽ từ IntegrityTypes.
value[64]
uint8_t
Một chuỗi byte có độ dài thay đổi chứa giá trị tính toàn vẹn cho hình ảnh phần mềm được xác định bằng trường URI.

Hàm công khai

init(uint8_t, uint8_t *)
Khởi chạy rõ ràng đối tượng IntegritySpec bằng các giá trị được cung cấp.
operator==(const IntegritySpec &) const
bool
Toán tử cân bằng.
pack(MessageIterator &)
Chuyển đổi tuần tự IntegritySpec vào MessageIterator được cung cấp.

Hàm tĩnh công khai

parse(MessageIterator &, IntegritySpec &)
Giải tuần tự đối tượng từ MessageIterator được cung cấp thành IntegritySpec được cung cấp.

Thuộc tính công khai

loại

uint8_t type

Loại hàm băm, giá trị cần vẽ từ IntegrityTypes.

value

uint8_t value[64]

Một chuỗi byte có độ dài thay đổi chứa giá trị tính toàn vẹn cho hình ảnh phần mềm được xác định bằng trường URI.

Giá trị tính toàn vẹn được tính toán bằng cách áp dụng hàm tính toàn vẹn do loại tính toàn vẹn chỉ định cho nội dung của hình ảnh cập nhật phần mềm được truy cập tại URI đã chỉ định ở trên. Thông số về tính toàn vẹn cho phép ứng dụng xác nhận rằng hình ảnh đã tải xuống khớp với hình ảnh được chỉ định trong phản hồi này.

Hàm công khai

IntegritySpec

 IntegritySpec()

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

Đối tượng phải được khởi tạo thông qua phương thức init() hoặc thông qua việc giải tuần tự đối tượng từ một thông báo.

init

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

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

Thông tin chi tiết
Các tham số
[in] aType
Giá trị loại tính toàn vẹn lấy từ IntegrityTypes
[in] aValue
Giá trị hàm băm có độ dài thích hợp được biểu thị dưới dạng một chuỗi byte được đóng gói
Trả về
WEAVE_NO_ERROR Khi thành công
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

toán tử==

bool operator==(
  const IntegritySpec &
) const 

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

Thông tin chi tiết
Các tham số
another
Một IntegritySpec để kiểm tra dựa trên IntegritySpec 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(
  MessageIterator &
)

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

Thông tin chi tiết
Các tham số
[in] i
Một đối tượng lặp trên thông báo đang được đóng gói
Giá trị trả về
WEAVE_NO_ERROR
Khi thành công.
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu IntegritySpec quá lớn nên không vừa với thông báo.

Hàm tĩnh công khai

parse

WEAVE_ERROR parse(
  MessageIterator &,
  IntegritySpec &
)

Giải tuần tự đối tượng từ MessageIterator được cung cấp thành IntegritySpec được cung cấp.

Thông tin chi tiết
Các tham số
[in] i
Một trình lặp trên thông báo được phân tích cú pháp.
[in] aSpec
Tham chiếu đến một đối tượng để chứa kết quả
Giá trị trả về
WEAVE_NO_ERROR
Khi thành công.
Giá trị trả về
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu thông báo không chứa đủ số byte cho loại tính toàn vẹn và hàm băm liên quan
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