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 - hiện tại đặc điểm 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 () Constructor 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 có 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) | Một cách rõ ràng khởi tạo ImageQuery đối tượng với các giá trị cung cấp. |
operator== (const ImageQuery &) const | bool Một toán tử bình đẳng. |
pack (PacketBuffer *) | Serialize các tiềm ẩn ImageQuery vào PacketBuffer cung cấp. |
print (void) | void |
Các chức năng tĩnh công khai | |
---|---|
parse (PacketBuffer *, ImageQuery &) | Deserialize thông điệp truy vấn hình ảnh được cung cấp trong một PacketBuffer thành một quy ImageQuery . |
Thuộc tính công cộng
localeSpec
ReferencedString localeSpec
Chuỗi UTF-8 có độ dài thay đổi có 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()
Constructor mặc định cho ImageQuery .
Các ImageQuery có thể được dân cư bằng cách gọi init () hoặc bằng cách deserializing các đối tượng từ 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 )
Một cách rõ ràng khởi tạo ImageQuery đối tượng với các giá trị 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 * )
Serialize các tiềm ẩn ImageQuery vào PacketBuffer cung cấp.
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
| ||||
Giá trị trả lại |
|
in
void print( void )
Các chức năng tĩnh công khai
phân tích cú pháp
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
Deserialize thông điệp truy vấn hình ảnh được cung cấp trong một PacketBuffer thành một quy ImageQuery .
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ông báo là quá nhỏ để chứa tất cả các lĩnh vực của ImageQuery | ||||
Lợi nhuận | WEAVE_ERROR_INVALID_LIST_LENGTH Nếu thông điệp chứa một IntegrityTypeList hoặc UpdateSchemeList đó là quá dài |