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

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

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

Tóm tắt

Đối tượng này sẽ giữ 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 của hàm băm được cố định dựa trên loại hàm băm. Đối tượng này có kích thước để chứa hàm băm lớn nhất được hỗ trợ.

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

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

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

type
uint8_t
Loại hàm băm, giá trị sẽ được lấy từ IntegrityTypes.
value[64]
uint8_t
Một chuỗi byte có độ dài biến đổ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 tạo đối tượng IntegritySpec một cách rõ ràng với các giá trị đã cung cấp.
operator==(const IntegritySpec &) const
bool
Toán tử đẳng thức.
pack(MessageIterator &)
Tuần tự hoá IntegritySpec thành 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.

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

loại

uint8_t type

Loại hàm băm, giá trị sẽ được lấy từ IntegrityTypes.

value

uint8_t value[64]

Một chuỗi byte có độ dài biến đổ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 bằng cách áp dụng hàm toàn vẹn được chỉ định theo loại tính toàn vẹn cho nội dung của hình ảnh bản cập nhật phần mềm được truy cập tại URI chỉ định ở trên. Thông số kỹ thuật 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 quá trình giải tuần tự đối tượng từ một thông báo.

khởi tạo

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

Khởi tạo đối tượng IntegritySpec một cách rõ ràng với các giá trị đã cung cấp.

Chi tiết
Tham số
[in] aType
Giá trị loại tính toàn vẹn được lấy từ IntegrityTypes
[in] aValue
Giá trị băm có độ dài thích hợp được biểu thị dưới dạng một chuỗi byte đó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ử đẳng thức.

Chi tiết
Tham số
another
IntegritySpec để kiểm tra so với IntegritySpec 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(
  MessageIterator &
)

Tuần tự hoá IntegritySpec thành MessageIterator được cung cấp.

Chi tiết
Tham số
[in] i
Biến lặp trên thư đ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ư.

Hàm tĩnh công khai

phân tích cú pháp

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.

Chi tiết
Tham số
[in] i
Một biến lặp trên thông báo đang đượ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