nl:: Weave:: Profiles:: SoftwareUpdate:: ImageQuery
#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 truy vấn hình ảnh.
Tóm tắt
Khung truy vấn hình ảnh có dạng như sau trên dây
Chiều dài | Tên trường |
1 byte | điều khiển khung |
6 byte | quy cách sản phẩm |
biến thiên | thông số kỹ thuật của phiên bản |
2,,4 byte | danh sách loại tính toàn vẹn |
2,5 byte | cập nhật danh sách lược đồ |
biến thiên | thông số ngôn ngữ (không bắt buộc) |
8 byte | mã nút đích |
biến thiên | dữ liệu cụ thể của nhà cung cấp (không bắt buộc) |
Bit | Ý nghĩa |
0 | 1 – có dữ liệu riêng của nhà cung cấp, 0 – không có |
1 | 1 – có thông số ngôn ngữ, 0 – không có |
2 | 1 – có mã nút đích, 0 – không có |
3..7 | Đã đặt trước |
Hàm khởi tạo và phá huỷ |
|
---|---|
ImageQuery()
Hàm khởi tạo mặc định cho ImageQuery.
|
Các thuộc tính công khai |
|
---|---|
integrityTypes
|
Các loại tính toàn vẹn mà thiết bị hỗ trợ.
|
localeSpec
|
Một chuỗi UTF-8 có độ dài biến đổi chứa ngôn ngữ POSIX có hiệu lực trên thiết bị đang thực hiện truy vấn hình ảnh.
|
packageSpec
|
Chuỗi UTF-8 có độ dài biến đổi chứa chuỗi thông số kỹ thuật gói theo nhà cung cấp.
|
productSpec
|
Quy cách sản phẩm mô tả thiết bị gửi truy vấn về hình ảnh.
|
targetNodeId
|
uint64_t
Mã nút không bắt buộc của thiết bị mà truy vấn đang được thực hiện.
|
theMetaData
|
Trường dữ liệu dành riêng cho nhà cung cấp có độ dài thay đổi và chiếm phần còn lại của tải trọng thông báo Weave, ngoài các trường được mô tả ở trên.
|
updateSchemes
|
Cập nhật giao thức (giao thức tải xuống) mà thiết bị hỗ trợ.
|
version
|
Một chuỗi UTF-8 có độ dài biến đổi chứa phiên bản phần mềm do nhà cung cấp chỉ định của thiết bị mà truy vấn được thực hiện.
|
Hàm công khai |
|
---|---|
init(ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData)
|
Khởi tạo rõ ràng đối tượng ImageQuery bằng các giá trị đã cung cấp.
|
operator==(const ImageQuery &) const
|
bool
Toán tử đẳng thức.
|
pack(PacketBuffer *)
|
Tuần tự hoá ImageQuery cơ bản vào PacketBuffer được cung cấp.
|
print(void)
|
void
|
Hàm tĩnh công khai |
|
---|---|
parse(PacketBuffer *, ImageQuery &)
|
Giải tuần tự thông báo truy vấn hình ảnh có trong PacketBuffer thành ImageQuery được cung cấp.
|
Các thuộc tính công khai
localeSpec
ReferencedString localeSpec
Một chuỗi UTF-8 có độ dài biến đổi chứa ngôn ngữ POSIX có hiệu lực trên thiết bị đang thực hiện truy vấn hình ảnh.
Nội dung của chuỗi phải tuân theo định dạng giá trị nhận dạng ngôn ngữ POSIX, như được quy định trong ISO/IEC 15897, ví dụ: en_AU.UTF-8 cho tiếng Anh Úc.
packageSpec
ReferencedString packageSpec
Một chuỗi UTF-8 có độ dài biến đổi chứa chuỗi thông số kỹ thuật gói theo nhà cung cấp.
Nội dung của trường mô tả loại vùng chứa mong muốn cho hình ảnh phần mềm, chẳng hạn như "RPM", "deb", "tgz", "elf", v.v. (LƯU Ý: Trường này không được dùng khi triển khai giao thức Nest)
targetNodeId
uint64_t targetNodeId
Mã nút không bắt buộc của thiết bị mà truy vấn đang được thực hiện.
Trường id nút mục tiêu là không bắt buộc. Nếu không có, mã nút đích cho truy vấn sẽ ngầm ẩn là nút là nguồn của thông báo truy vấn hình ảnh.
Trường id nút đích thường được sử dụng trong các trường hợp mà nút là nguồn của thông báo IMAGE QUERY đang đóng vai trò là proxy cập nhật phần mềm cho một nút khác.
theMetaData
ReferencedTLVData theMetaData
Trường dữ liệu dành riêng cho nhà cung cấp có độ dài thay đổi và chiếm phần còn lại của tải trọng thông báo Weave, ngoài các trường được mô tả ở trên.
Trường này mã hoá thông tin cụ thể của nhà cung cấp về thiết bị mà hệ thống đang thực hiện truy vấn. Trường dữ liệu dành riêng cho nhà cung cấp là không bắt buộc. Nếu có, trường này có một dạng cấu trúc được mã hoá TLV ẩn danh. Các thẻ được trình bày trong cấu trúc này sẽ là thẻ dành riêng cho hồ sơ đủ điều kiện.
updateSchemes
UpdateSchemeList updateSchemes
Cập nhật giao thức (giao thức tải xuống) mà thiết bị hỗ trợ.
version
ReferencedString version
Một chuỗi UTF-8 có độ dài biến đổi chứa phiên bản phần mềm do nhà cung cấp chỉ định của thiết bị mà truy vấn được thực hiện.
Phải có độ dài từ 32 trở xuống.
Hàm công khai
ImageQuery
ImageQuery()
Hàm khởi tạo mặc định cho ImageQuery.
ImageQuery có thể được điền sẵn bằng cách gọi 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( ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData )
Khởi tạo rõ ràng đối tượng ImageQuery bằng các giá trị đã cung cấp.
Chi tiết | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||||||||||
Trả về |
WEAVE_NO_ERROR Vô điều kiện.
|
toán tử==
bool operator==( const ImageQuery & ) const
Toán tử đẳng thức.
Chi tiết | |||
---|---|---|---|
Tham số |
|
||
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á ImageQuery cơ bản vào PacketBuffer được cung cấp.
Chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
||||
Giá trị trả về |
|
in
void print( void )
Hàm tĩnh công khai
phân tích cú pháp
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
Giải tuần tự thông báo truy vấn hình ảnh có trong PacketBuffer thành một ImageQuery được cung cấp.
Chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
||||
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_LIST_LENGTH Nếu thư chứa IntegrityTypeList hoặc UpdateSchemeList quá dài
|