nl::Weave::Profiles::SoftwareUpdate::ImageQueryResponse

#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>

이미지 쿼리 응답 메시지의 생성과 디코딩을 지원하는 클래스입니다.

요약

이미지 쿼리 응답 메시지의 형식은 다음과 같습니다.

길이 필드 이름
가변 URI
가변 버전 사양
가변 무결성 사양
1바이트 업데이트 체계
1바이트 업데이트 옵션
업데이트 옵션 필드 (선택사항)의 형식은 다음과 같습니다.

비트 의미
0~2 우선순위 업데이트
3..4 조건 업데이트
5 보고서 상태 설정되면 클라이언트는 선택적 DownloadNotify 및 UpdateNotify 메시지를 생성하도록 요청됩니다.
5~7 예약됨
이미지 쿼리 응답은 이미지 쿼리가 성공적으로 처리되어 다운로드할 이미지를 생성하는 경우에만 전송됩니다. 이 메시지는 쿼리를 제출한 노드에 대한 다운로드 지침을 구성합니다. 서버가 이미지 쿼리를 처리하지 못하면 이미지 쿼리 상태를 생성합니다.

생성자 및 소멸자

ImageQueryResponse()
ImageQueryResponse의 기본 생성자입니다.

공개 속성

integritySpec
소프트웨어 업데이트 이미지의 무결성 정보 (무결성 유형 및 해시)가 포함된 필드입니다.
reportStatus
bool
선택적 DownloadNotify 및 UpdateNotify 메시지를 통해 소프트웨어 업데이트 진행 상황을 서버에 알리는 요청입니다.
updateCondition
소프트웨어 업데이트를 진행하기 위한 조건에 대한 안내
updatePriority
기기에 소프트웨어 업데이트를 실행할 시기를 안내하는 명령입니다.
updateScheme
uint8_t
소프트웨어 업데이트 이미지를 다운로드하는 데 사용되는 업데이트 스키마입니다.
uri
소프트웨어 이미지의 위치를 포함하는 가변 길이 UTF-8 문자열입니다.
versionSpec
공급업체별 소프트웨어 버전 식별을 포함하는 가변 길이 UTF-8 문자열입니다.

공개 함수

init(ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority, UpdateCondition, bool)
제공된 값을 사용하여 ImageQueryResponse 객체를 명시적으로 초기화합니다.
operator==(const ImageQueryResponse &) const
bool
등호 연산자.
pack(PacketBuffer *)
ImageQueryResponse를 제공된 PacketBuffer로 직렬화합니다.
print(void)
void

공개 정적 함수

parse(PacketBuffer *, ImageQueryResponse &)
PacketBuffer에 제공된 이미지 쿼리 응답 메시지를 제공된 ImageQueryResponse로 역직렬화합니다.

공개 속성

integritySpec

IntegritySpec integritySpec

소프트웨어 업데이트 이미지의 무결성 정보 (무결성 유형 및 해시)가 포함된 필드입니다.

reportStatus

bool reportStatus

선택적 DownloadNotify 및 UpdateNotify 메시지를 통해 소프트웨어 업데이트 진행 상황을 서버에 알리는 요청입니다.

updateCondition

UpdateCondition updateCondition

소프트웨어 업데이트를 진행하기 위한 조건에 대한 안내

updatePriority

UpdatePriority updatePriority

기기에 소프트웨어 업데이트를 실행할 시기를 안내하는 명령입니다.

updateScheme

uint8_t updateScheme

소프트웨어 업데이트 이미지를 다운로드하는 데 사용되는 업데이트 스키마입니다.

해당 값은 UpdateSchemes에서 가져옵니다.

uri

ReferencedString uri

소프트웨어 이미지의 위치를 포함하는 가변 길이 UTF-8 문자열입니다.

이 문자열의 콘텐츠는 RFC 3986 사양을 준수해야 합니다. 잘 정의된 인터넷 프로토콜(HTTP, HTTPS, SFTP)에 해당하는 업데이트 스키마의 경우 URI의 스키마 요소는 해당 프로토콜 스키마의 표준 URL 인코딩을 준수해야 합니다(MUST). 문자열 길이는 65565를 초과할 수 없으며 문자열은 단일 Weave 메시지 내에 들어가야 하며 MTU 제한이 적용될 수 있습니다.

versionSpec

ReferencedString versionSpec

공급업체별 소프트웨어 버전 식별을 포함하는 가변 길이 UTF-8 문자열입니다.

문자열 길이는 256바이트를 초과할 수 없습니다.

공개 함수

ImageQueryResponse

 ImageQueryResponse()

ImageQueryResponse의 기본 생성자입니다.

ImageQueryResponseinit() 메서드를 사용하거나 메시지에서 객체를 역직렬화하여 채울 수 있습니다.

init

WEAVE_ERROR init(
  ReferencedString &,
  ReferencedString &,
  IntegritySpec &,
  uint8_t,
  UpdatePriority,
  UpdateCondition,
  bool
)

제공된 값을 사용하여 ImageQueryResponse 객체를 명시적으로 초기화합니다.

세부정보
매개변수
[in] aUri
새 펌웨어 이미지가 있는 URI입니다.
[in] aVersion
이 이미지의 버전 문자열입니다.
[in] aIntegrity
새 이미지에 해당하는 무결성 사양입니다.
[in] aScheme
다운로드에 사용할 업데이트 스키마입니다.
[in] aPriority
이 업데이트와 연결된 업데이트 우선순위입니다.
[in] aCondition
업데이트할 조건입니다.
[in] aReportStatus
true인 경우 다운로드 및 업데이트 후 클라이언트가 보고하도록 요청하며, 그렇지 않으면 클라이언트가 보고하지 않습니다.
반환
WEAVE_NO_ERROR를 무조건적으로 발생시킵니다.

연산자==

bool operator==(
  const ImageQueryResponse &
) const 

등호 연산자.

세부정보
매개변수
another
ImageQueryResponse에 대해 확인할 ImageQueryResponse
반환
두 객체의 모든 필드가 같으면 true, 그렇지 않으면 false

WEAVE_ERROR pack(
  PacketBuffer *
)

ImageQueryResponse를 제공된 PacketBuffer로 직렬화합니다.

세부정보
매개변수
[in] aBuffer
쿼리 응답을 패킹할 패킷 버퍼
반환 값
WEAVE_NO_ERROR
성공 시
WEAVE_ERROR_BUFFER_TOO_SMALL
ImageQueryResponse가 너무 커서 제공된 버퍼에 맞지 않는 경우

출력하다

void print(
  void
)

공개 정적 함수

파싱

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

PacketBuffer에 제공된 이미지 쿼리 응답 메시지를 제공된 ImageQueryResponse로 역직렬화합니다.

세부정보
매개변수
[in] aBuffer
이미지 쿼리를 파싱할 패킷을 가리키는 포인터입니다.
[in] aResponse
결과를 넣을 객체입니다.
반환
성공 시 WEAVE_NO_ERROR
반환
WEAVE_ERROR_BUFFER_TOO_SMALL 메시지가 너무 작아서 ImageQuery의 모든 필드를 포함할 수 없는 경우
반환
WEAVE_ERROR_INVALID_INTEGRITY_TYPE 제공된 무결성 유형이 IntegrityTypes에 지정된 값 중 하나가 아닌 경우