Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

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)
trong đó trường điều khiển khung có các trường bit như sau:

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
ImageQuery , như một cấu trúc đọc hơi khác so với biểu diễn trên máy bay. Đặc biệt, phiên bản và ngôn ngữ là các chuỗi c được kết thúc bằng null (trái ngược với (độ dài, ký tự) bộ giá trị) và cả hai mục tùy chọn được biểu diễn dưới dạng con trỏ có thể nullable nên không có boolean riêng để kiểm tra.

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

toàn vẹn

IntegrityTypeList integrityTypes

Các loại toàn vẹn được thiết bị hỗ trợ.

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ố
[in] aProductSpec
Đặc điểm kỹ thuật sản phẩm.
[in] aVersion
Phiên bản phần mềm hiện đã được cài đặt.
[in] aTypeList
Các loại toàn vẹn được hỗ trợ bởi máy khách.
[in] aSchemeList
Các chương trình cập nhật được hỗ trợ bởi khách hàng.
[in] aPackage
Một thông số gói tùy chọn được hỗ trợ bởi khách hàng.
[in] aLocale
Một thông số ngôn ngữ tùy chọn do khách hàng yêu cầu.
[in] aTargetNodeId
ID nút đích tùy chọn.
[in] aMetaData
Một khối dữ liệu nhà cung cấp được mã hóa TLV tùy chọn.
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ố
another
Một ImageQuery để kiểm tra ImageQuery này
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ố
[in] aBuffer
Bộ đệm gói để đóng gói truy vấn
Giá trị trả lại
WEAVE_NO_ERROR
Về thành công
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu ImageQuery quá lớn để vừa với bộ đệm được cung cấp.

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ố
[in] aBuffer
Một con trỏ đến một gói để phân tích cú pháp truy vấn hình ảnh
[in] aQuery
Một đối tượng để đặt kết quả
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