nl :: Dệt :: Hồ sơ :: Cập nhật phần mềm:: ImageQuery
#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>
Một lớp để hỗ trợ tạo và giải mã các thông điệp truy vấn hình ảnh.
Tóm lược
Khung truy vấn hình ảnh có dạng sau qua dây
Chiều dài | Tên trường |
1 byte | kiểm soát khung |
6 byte | đặc điểm kỹ thuật sản phẩm |
Biến đổi | đặc điểm kỹ thuật phiên bản |
2..4 byte | danh sách loại toàn vẹn |
2..5 byte | cập nhật danh sách chương trình |
Biến đổi | đặc tả ngôn ngữ (tùy chọn) |
8 byte | ID nút đích |
Biến đổi | dữ liệu cụ thể của nhà cung cấp (tùy chọn) |
Bit | Ý nghĩa |
0 | 1 - có dữ liệu cụ thể của nhà cung cấp, 0 - không có |
1 | 1 - có đặc điểm kỹ thuật ngôn ngữ, 0 - không có |
2 | 1 - hiện tại id nút đích, 0 - không có |
3..7 | Kín đáo |
Người xây dựng và Người phá hủy | |
---|---|
ImageQuery () Hàm tạo mặc định cho ImageQuery . |
Thuộc tính công cộng | |
---|---|
integrityTypes | Các loại toàn vẹn được thiết bị hỗ trợ. |
localeSpec | Chuỗi UTF-8 có độ dài thay đổi chứa ngôn ngữ POSIX có hiệu lực trên thiết bị mà truy vấn hình ảnh đang được thực hiện. |
packageSpec | Chuỗi UTF-8 có độ dài thay đổi chứa chuỗi đặc tả gói dành riêng cho nhà cung cấp. |
productSpec | Đặc tả sản phẩm mô tả thiết bị đang thực hiện truy vấn hình ảnh. |
targetNodeId | uint64_t Một id nút tùy chọn 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 trọng tải thông báo Weave, ngoài các trường được mô tả ở trên. |
updateSchemes | Cập nhật các lược đồ (giao thức tải xuống) được thiết bị hỗ trợ. |
version | Chuỗi UTF-8 có độ dài thay đổ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 đang được thực hiện. |
Chức năng công cộng | |
---|---|
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 với các giá trị được cung cấp. |
operator== (const ImageQuery &) const | bool Một toán tử bình đẳng. |
pack (PacketBuffer *) | Tuần tự hóa ImageQuery bên dưới vào PacketBuffer được cung cấp. |
print (void) | void |
Chức năng tĩnh công khai | |
---|---|
parse (PacketBuffer *, ImageQuery &) | Hủy số liệu hóa thông báo truy vấn hình ảnh được cung cấp trong Bộ đệm gói thành một ImageQuery được cung cấp. |
Thuộc tính công cộng
localeSpec
ReferencedString localeSpec
Chuỗi UTF-8 có độ dài thay đổi chứa ngôn ngữ POSIX có hiệu lực trên thiết bị mà truy vấn hình ảnh đang được thực hiện.
Nội dung của chuỗi phải tuân theo định dạng mã định danh ngôn ngữ POSIX, như được chỉ định trong ISO / IEC 15897, ví dụ: en_AU.UTF-8 cho tiếng Anh Úc.
packageSpec
ReferencedString packageSpec
Chuỗi UTF-8 có độ dài thay đổi chứa chuỗi đặc tả gói dành riêng cho 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 sử dụng trong triển khai Nest của giao thức)
productSpec
ProductSpec productSpec
Đặc tả sản phẩm mô tả thiết bị đang thực hiện truy vấn hình ảnh.
targetNodeId
uint64_t targetNodeId
Một id nút tùy chọn của thiết bị mà truy vấn đang được thực hiện.
Trường id nút đích là tùy chọn. Nếu vắng mặt, id nút đích cho truy vấn ngầm định là nút 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 nút là nguồn của thông báo IMAGE QUERY đang phục vụ như một 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 trọng tải thông báo Weave, ngoài các trường được mô tả ở trên.
Trường mã hóa thông tin cụ thể của nhà cung cấp về thiết bị mà truy vấn đang được thực hiện. Trường dữ liệu dành riêng cho nhà cung cấp là tùy chọn. Nếu có, trường có dạng cấu trúc được mã hóa TLV ẩn danh. Các thẻ được trình bày trong cấu trúc này phải là các thẻ dành riêng cho hồ sơ đủ điều kiện.
updateSchemes
UpdateSchemeList updateSchemes
Cập nhật các lược đồ (giao thức tải xuống) được thiết bị hỗ trợ.
phiên bản
ReferencedString version
Chuỗi UTF-8 có độ dài thay đổ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 đang được thực hiện.
Phải có độ dài từ 32 trở xuống.
Chức năng công cộng
ImageQuery
ImageQuery()
Hàm tạo mặc định cho ImageQuery .
ImageQuery có thể được điền bằng cách gọi init () hoặc bằng cách giải mã hóa đối tượng khỏi một tin nhắn.
trong đó
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 với các giá trị được cung cấp.
Chi tiết | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||||||||
Lợi nhuận | WEAVE_NO_ERROR Vô điều kiện. |
toán tử ==
bool operator==( const ImageQuery & ) const
Một toán tử bình đẳng.
Chi tiết | |||
---|---|---|---|
Thông số |
| ||
Lợi nhuận | true nếu tất cả các trường trong cả hai đối tượng đều bằng nhau, ngược lại là false |
đóng gói
WEAVE_ERROR pack( PacketBuffer * )
Tuần tự hóa ImageQuery bên dưới vào PacketBuffer được cung cấp.
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
| ||||
Giá trị trả lại |
|
in
void print( void )
Chức năng tĩnh công khai
phân tích cú pháp
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
Hủy số liệu hóa thông báo truy vấn hình ảnh được cung cấp trong Bộ đệm gói thành một ImageQuery được cung cấp.
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
| ||||
Lợi nhuận | WEAVE_NO_ERROR Về thành công | ||||
Lợi nhuận | WEAVE_ERROR_BUFFER_TOO_SMALL Nếu thư quá nhỏ để chứa tất cả các trường của ImageQuery | ||||
Lợi nhuận | WEAVE_ERROR_INVALID_LIST_LENGTH Nếu thư chứa IntegrityTypeList hoặc UpdateSchemeList quá dài |