nl :: 짜다:: 프로필 :: 소프트웨어 업데이트:: ImageQuery
#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>
이미지 쿼리 메시지의 생성 및 디코딩을 지원하는 클래스입니다.
요약
이미지 쿼리 프레임은 와이어를 통해 다음과 같은 형식을 갖습니다.
길이 | 분야 명 |
1 바이트 | 프레임 제어 |
6 바이트 | 제품 사양 |
변하기 쉬운 | 버전 사양 |
2..4 바이트 | 무결성 유형 목록 |
2..5 바이트 | 업데이트 체계 목록 |
변하기 쉬운 | 로케일 사양 (선택 사항) |
8 바이트 | 대상 노드 ID |
변하기 쉬운 | 공급 업체별 데이터 (선택 사항) |
비트 | 의미 |
0 | 1-공급 업체별 데이터 있음, 0-없음 |
1 | 1-로케일 사양 있음, 0-없음 |
2 | 1-대상 노드 ID 있음, 0-없음 |
3..7 | 예약석 |
생성자와 소멸자 | |
---|---|
ImageQuery () 에 대한 기본 생성자 ImageQuery . |
공용 속성 | |
---|---|
integrityTypes | 장치에서 지원하는 무결성 유형. |
localeSpec | 이미지 쿼리가 수행되는 장치에 유효한 POSIX 로케일을 포함하는 가변 길이 UTF-8 문자열입니다. |
packageSpec | 공급 업체별 패키지 사양 문자열을 포함하는 가변 길이 UTF-8 문자열입니다. |
productSpec | 이미지 쿼리를 수행하는 장치를 설명하는 제품 사양입니다. |
targetNodeId | uint64_t 쿼리가 수행되는 장치의 선택적 노드 ID입니다. |
theMetaData | 공급 업체별 데이터 필드는 길이가 가변적이며 위에서 설명한 필드를 넘어서 Weave 메시지 페이로드의 나머지 부분을 차지합니다. |
updateSchemes | 장치에서 지원하는 업데이트 체계 (다운로드 프로토콜). |
version | 쿼리가 수행되는 장치의 공급 업체 지정 소프트웨어 버전을 포함하는 가변 길이 UTF-8 문자열입니다. |
공공 기능 | |
---|---|
init ( ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData) | 명시 적으로 초기화 ImageQuery에 제공된 값 개체. |
operator== (const ImageQuery &) const | bool 같음 연산자. |
pack (PacketBuffer *) | 기본 직렬화 ImageQuery 제공된 PacketBuffer에 있습니다. |
print (void) | void |
공개 정적 함수 | |
---|---|
parse (PacketBuffer *, ImageQuery &) | 제공된에 PacketBuffer에서 제공되는 이미지 질의 메시지 직렬화 ImageQuery를 . |
공용 속성
localeSpec
ReferencedString localeSpec
이미지 쿼리가 수행되는 장치에서 유효한 POSIX 로케일을 포함하는 가변 길이 UTF-8 문자열입니다.
문자열의 내용은 ISO / IEC 15897에 지정된 POSIX 로케일 식별자 형식 (예 : 호주 영어의 경우 en_AU.UTF-8)을 준수해야합니다.
packageSpec
ReferencedString packageSpec
공급 업체별 패키지 사양 문자열을 포함하는 가변 길이 UTF-8 문자열입니다.
필드의 내용은 'rpm', 'deb', 'tgz', 'elf'등과 같은 소프트웨어 이미지에 대해 원하는 컨테이너 유형을 설명합니다. (참고 :이 필드는 프로토콜의 Nest 구현에서 사용되지 않습니다)
targetNodeId
uint64_t targetNodeId
쿼리가 수행되는 장치의 선택적 노드 ID입니다.
대상 노드 ID 필드는 선택 사항입니다. 없는 경우 쿼리의 대상 노드 ID는 내재적으로 이미지 쿼리 메시지의 소스였던 노드입니다.
대상 노드 ID 필드는 일반적으로 IMAGE QUERY 메시지의 소스 인 노드가 다른 노드에 대한 소프트웨어 업데이트 프록시 역할을하는 인스턴스에서 사용됩니다.
theMetaData
ReferencedTLVData theMetaData
공급 업체별 데이터 필드는 길이가 가변적이며 위에서 설명한 필드를 넘어서 Weave 메시지 페이로드의 나머지 부분을 차지합니다.
이 필드는 쿼리가 수행되는 장치에 대한 공급 업체별 정보를 인코딩합니다. 공급 업체별 데이터 필드는 선택 사항입니다. 있는 경우 필드는 익명 TLV 인코딩 구조의 양식을 갖습니다. 이 구조 내에 제시된 태그는 완전한 프로필 별 태그 여야합니다.
버전
ReferencedString version
쿼리가 수행되는 장치의 공급 업체 지정 소프트웨어 버전을 포함하는 가변 길이 UTF-8 문자열입니다.
길이는 32 이하이어야합니다.
공공 기능
ImageQuery
ImageQuery()
에 대한 기본 생성자 ImageQuery .
ImageQuery가 호출되어있을 수도 INIT를 () 또는 메시지로부터 객체를 역 직렬화.
초기화
WEAVE_ERROR init( ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData )
명시 적으로 초기화 ImageQuery에 제공된 값 개체.
세부 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개 변수 |
| ||||||||||||||||
보고 | WEAVE_NO_ERROR 무조건. |
연산자 ==
bool operator==( const ImageQuery & ) const
같음 연산자.
세부 | |||
---|---|---|---|
매개 변수 |
| ||
보고 | 두 개체의 모든 필드가 같으면 true, 그렇지 않으면 false |
팩
WEAVE_ERROR pack( PacketBuffer * )
기본 직렬화 ImageQuery 제공된 PacketBuffer에 있습니다.
세부 | |||||
---|---|---|---|---|---|
매개 변수 |
| ||||
반환 값 |
|
인쇄
void print( void )
공개 정적 함수
구문 분석
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
제공된에 PacketBuffer에서 제공되는 이미지 질의 메시지 직렬화 ImageQuery를 .
세부 | |||||
---|---|---|---|---|---|
매개 변수 |
| ||||
보고 | WEAVE_NO_ERROR 성공시 | ||||
보고 | WEAVE_ERROR_BUFFER_TOO_SMALL는 메시지의 모든 필드가 포함 너무 작았 경우 ImageQuery을 | ||||
보고 | WEAVE_ERROR_INVALID_LIST_LENGTH 메시지가 포함 된 경우 IntegrityTypeList 또는 UpdateSchemeList 너무 깁니다 |