nl:: Weave:: DeviceLayer:: SoftwareUpdateManager
요약
상속
직접 알려진 서브클래스:nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
공개 유형 |
|
---|---|
ActionType{
|
enum 소프트웨어 업데이트가 제공되면 애플리케이션은 SoftwareUpdateAvailable API 이벤트 콜백의 일부로 다음 작업 중 하나를 선택할 수 있습니다. |
EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
|
typedefvoid(*
|
EventType{
|
enumSoftwareUpdateManager 객체에서 생성한 API 이벤트입니다. |
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)
|
typedefvoid(*
|
State
|
enum |
친구 수업 |
|
---|---|
Internal::GenericPlatformManagerImpl
|
friend class
|
공개 함수 |
|
---|---|
Abort(void)
|
|
CheckNow(void)
|
|
GetState(void)
|
State
|
ImageInstallComplete(WEAVE_ERROR aError)
|
|
IsInProgress(void)
|
bool
|
PrepareImageStorageComplete(WEAVE_ERROR aError)
|
|
SetEventCallback(void *const aAppState, const EventCallback aEventCallback)
|
|
SetQueryIntervalWindow(uint32_t aMinWaitTimeMs, uint32_t aMaxWaitTimeMs)
|
|
SetRetryPolicyCallback(const RetryPolicyCallback aRetryPolicyCallback)
|
void
|
공개 정적 함수 |
|
---|---|
DefaultEventHandler(void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
|
void
|
보호된 함수 |
|
---|---|
SoftwareUpdateManager()=default
|
|
SoftwareUpdateManager(const SoftwareUpdateManager &)=delete
|
|
SoftwareUpdateManager(const SoftwareUpdateManager &&)=delete
|
|
operator=(const SoftwareUpdateManager &)=delete
|
|
~SoftwareUpdateManager()=default
|
|
구조체 |
|
---|---|
nl:: |
유니온 |
|
---|---|
nl:: |
|
nl:: |
공개 유형
작업 유형
ActionType
소프트웨어 업데이트가 제공되면 애플리케이션은 SoftwareUpdateAvailable API 이벤트 콜백의 일부로 다음 작업 중 하나를 선택할 수 있습니다.
기본 작업은 kAction_Now로 설정됩니다.
속성 | |
---|---|
kAction_ApplicationManaged
|
애플리케이션이 다운로드, 이미지 무결성 확인, 설치와 같은 나머지 소프트웨어 업데이트 단계를 관리할 수 있도록 허용합니다. 소프트웨어 업데이트 관리자 상태 머신이 ApplicationManaged 상태로 전환됩니다. 예약된 소프트웨어 업데이트 확인 (사용 설정된 경우)은 애플리케이션이 취소 또는 ImageInstallComplete API를 호출할 때까지 정지됩니다. |
kAction_DownloadLater
|
시작 시 다운로드를 일시중지합니다. 예약된 소프트웨어 업데이트 확인 (사용 설정된 경우)이 정지됩니다. 상태 머신은 다운로드 상태로 유지됩니다. 준비되면 애플리케이션은 다운로드 재개 API를 호출하여 다운로드를 진행하거나 취소를 호출하여 취소할 수 있습니다. |
kAction_DownloadNow
|
바로 다운로드를 시작합니다. kEvent_FetchPartialImageInfo API 이벤트 콜백은 바로 생성됩니다. |
kAction_Ignore
|
다운로드를 완전히 무시합니다. 이 옵션을 선택하면 재시도 로직이 호출되지 않으면 WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED 오류와 함께 kEvent_Finished API 이벤트 콜백이 생성됩니다. |
이벤트 콜백
void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
EventType
EventType
SoftwareUpdateManager
객체에서 생성한 API 이벤트입니다.
속성 | |
---|---|
kEvent_ComputeImageIntegrity
|
이미지 무결성 검사 값을 계산합니다. 다운로드한 이미지에 무결성 검사 값을 계산하도록 애플리케이션에 요청합니다. 다운로드가 완료되면 생성됩니다. |
kEvent_DefaultCheck
|
기본 이벤트 처리 동작을 확인합니다. 애플리케이션에서 올바른 기본 이벤트 처리를 확인하는 데 사용됩니다. 애플리케이션은 이 이벤트를 처리하면 안 됩니다. |
kEvent_FetchPartialImageInfo
|
부분적으로 다운로드된 이미지의 영구 상태 정보를 가져옵니다. 애플리케이션이 마지막으로 중단된 지점부터 계속 다운로드될 수 있도록 이전에 다운로드한 이미지 일부의 정보를 애플리케이션에 공개할 기회를 제공합니다. 사용 가능한 소프트웨어 업데이트의 URI는 다운로드 중인 이미지가 부분 이미지와 동일한지 확인하기 위해 애플리케이션에서 사용할 수 있는 입력 매개변수로 제공됩니다. 애플리케이션은 PartialImageLenInBytes 출력 매개변수에 부분 이미지의 길이를 반환해야 합니다. 애플리케이션은 PartialImageLenInBytes 값을 0으로 설정하여 부분 이미지가 없거나 부분 이미지의 URI가 일치하지 않음을 나타낼 수 있습니다. 애플리케이션은 이 이벤트를 기본 이벤트 핸들러에 전달하여 무시할 수 있습니다. 이렇게 하면 시스템은 항상 사용 가능한 펌웨어 이미지 전체를 다운로드합니다. |
kEvent_Finished
|
소프트웨어 업데이트 프로세스가 완료되었습니다. 소프트웨어 업데이트 확인이 완료되거나 오류가 없을 때 생성됩니다. 이 이벤트에 포함된 매개변수는 실패로 인해 시도가 실패한 경우 실패 이유를 제공합니다. |
kEvent_PrepareImageStorage
|
새 이미지의 저장을 준비합니다. 새 펌웨어 이미지를 다운로드하기 위해 로컬 저장소를 준비하는 데 필요한 단계를 실행하도록 애플리케이션에 요청합니다. 예를 들어, 애플리케이션은 이 API를 사용하여 플래시 페이지를 지울 수 있습니다. PrepareImageStorage 이벤트는 새 펌웨어 이미지가 다운로드되는 경우에만 생성됩니다. 이전에 중단된 다운로드가 재개되면 PrepareImageStorage가 생성되지 않습니다. 애플리케이션은 애플리케이션은 PrepareImageStorage 이벤트를 기본 이벤트 핸들러에 전달하여 무시할 수 있습니다. 이 경우 시스템에서 자동으로 이미지 다운로드 상태로 진행합니다. 중단된 다운로드 재개를 지원하기 위해 애플리케이션은 이미지 URI (이벤트 매개변수로 제공됨)를 유지하고 후속 FetchPartialImageInfo 이벤트를 처리할 때 이 메서드를 사용해야 합니다. |
kEvent_PrepareQuery
|
ImageQuery 메시지 준비 소프트웨어 업데이트 확인이 트리거될 때 생성됩니다. 애플리케이션이 제품 관련 정보를 SofwareUpdate:ImageQuery 메시지에 제공할 수 있는 기회를 제공합니다. |
kEvent_PrepareQuery_Metadata
|
ImageQuery 요청의 메타데이터를 준비합니다. 필요한 경우 애플리케이션이 SofwareUpdate:ImageQuery 메시지에 추가 메타데이터를 추가할 수 있는 기회를 제공합니다. 구현이 애플리케이션에서 메타데이터를 가져올 준비가 되면 생성됩니다. |
kEvent_QueryPrepareFailed
|
ImageQuery 요청을 준비하는 중에 오류가 발생했습니다. 소프트웨어 업데이트 쿼리 전송을 준비하는 동안 구현에서 오류가 발생하면 생성됩니다. |
kEvent_QuerySent
|
ImageQuery 요청을 보냈습니다. SofwareUpdate:ImageQuery 메시지가 전송되었음을 알리는 정보 이벤트입니다. |
kEvent_ReadyToInstall
|
이미지를 설치할 준비가 되었습니다. 이미지를 설치할 준비가 되었음을 알리는 정보 이벤트 이미지가 무결성 검사를 통과하면 생성됩니다. |
kEvent_ResetPartialImageInfo
|
부분적으로 다운로드된 이미지의 상태를 재설정합니다. 다운로드한 이미지에 연결된 상태를 유지할 것을 애플리케이션에 요청합니다. ResetPartialImageInfo 이벤트는 다운로드한 이미지가 무결성 검사에 실패할 때마다 생성됩니다. ResetPartialImageInfo 이벤트가 처리된 후 후속 FetchPartialImageInfo 이벤트에는 사용 가능한 부분 이미지가 없음을 나타내야 합니다. ResetPartialImageInfo 이벤트를 처리할 때 애플리케이션은 이미지 데이터 자체를 삭제할 필요 없이 이미지와 연결된 상태 정보 (예: URI 및 부분 이미지 길이)만 삭제할 수 있습니다. 애플리케이션에서 이미지 다운로드 재개를 지원하지 않으면 이 이벤트를 기본 이벤트 핸들러에 전달하여 무시할 수 있습니다. |
kEvent_SoftwareUpdateAvailable
|
소프트웨어 업데이트가 있습니다. 사용 가능한 업데이트 정보가 포함된 쿼리에 대한 응답으로 SofwareUpdate:ImageQueryResponse가 수신될 때 생성됩니다. |
kEvent_StartImageDownload
|
이미지 다운로드가 시작되었습니다. 이미지 다운로드 트랜잭션의 시작을 알리는 정보 이벤트 |
kEvent_StartInstallImage
|
이미지 설치를 시작합니다. 다운로드한 펌웨어 이미지를 설치하는 중입니다. |
kEvent_StoreImageBlock
|
이미지 데이터 블록을 저장합니다. 데이터 블록이 파일 다운로드 서버에서 수신될 때마다 생성됩니다. 이 이벤트에 포함된 매개변수는 데이터와 데이터 길이를 제공합니다. 다운로드가 중단된 다운로드 재개를 지원하려면 애플리케이션은 저장된 총 이미지 바이트 수를 영구적으로 유지하고 후속 FetchPartialImageInfo 이벤트를 처리할 때 이 값을 사용해야 합니다. |
RetryPolicyCallback
void(* RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)
상태
State
친구 수업
내부::GenericPlatformManagerImpl
friend class Internal::GenericPlatformManagerImpl
공개 함수
취소
WEAVE_ERROR Abort( void )
지금 확인
WEAVE_ERROR CheckNow( void )
GetState
State GetState( void )
ImageInstallComplete
WEAVE_ERROR ImageInstallComplete( WEAVE_ERROR aError )
진행 중
bool IsInProgress( void )
준비 이미지 저장소 완료
WEAVE_ERROR PrepareImageStorageComplete( WEAVE_ERROR aError )
SetEventCallback
WEAVE_ERROR SetEventCallback( void *const aAppState, const EventCallback aEventCallback )
SetQueryIntervalWindow
WEAVE_ERROR SetQueryIntervalWindow( uint32_t aMinWaitTimeMs, uint32_t aMaxWaitTimeMs )
재시도 재시도
void SetRetryPolicyCallback( const RetryPolicyCallback aRetryPolicyCallback )
공개 정적 함수
DefaultEventHandler
void DefaultEventHandler( void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam )
보호된 함수
소프트웨어 업데이트 관리자
SoftwareUpdateManager()=default
소프트웨어 업데이트 관리자
SoftwareUpdateManager( const SoftwareUpdateManager & )=delete
소프트웨어 업데이트 관리자
SoftwareUpdateManager( const SoftwareUpdateManager && )=delete
연산자=
SoftwareUpdateManager & operator=( const SoftwareUpdateManager & )=delete
~SoftwareUpdateManager
~SoftwareUpdateManager()=default