nl:: Weave:: DeviceLayer:: SoftwareUpdateManager
요약
상속
직접 알려진 서브클래스: <ph type="x-smartling-placeholder"></ph> nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl <ph type="x-smartling-placeholder">
</ph> nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl <ph type="x-smartling-placeholder">
</ph> 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:: |
Union |
|
---|---|
nl:: |
|
nl:: |
공개 유형
ActionType
ActionType
소프트웨어 업데이트를 사용할 수 있는 경우 애플리케이션은 SoftwareUpdateAvailable API 이벤트 콜백의 일부로 다음 작업 중 하나를 선택할 수 있습니다.
기본 작업은 kAction_Now로 설정됩니다.
속성 | |
---|---|
kAction_ApplicationManaged
|
애플리케이션이 다운로드, 이미지 무결성 확인, 설치와 같은 소프트웨어 업데이트의 나머지 단계를 관리할 수 있도록 합니다. 소프트웨어 업데이트 관리자 상태 시스템이 ApplicationManaged 상태로 전환됩니다. 예약된 소프트웨어 업데이트 검사 (사용 설정된 경우)는 애플리케이션이 Abort 또는 ImageInstallComplete API를 호출할 때까지 정지됩니다. |
kAction_DownloadLater
|
시작 시 다운로드를 일시중지합니다. 예약된 소프트웨어 업데이트 확인 (사용 설정된 경우)이 정지됩니다. 상태 시스템은 다운로드 상태로 유지됩니다. 준비되면 애플리케이션은 다운로드 재개 API를 호출하여 다운로드를 진행하거나 Abort를 호출하여 취소할 수 있습니다. |
kAction_DownloadNow
|
즉시 다운로드를 시작합니다. kEvent_FetchPartialImageInfo API 이벤트 콜백이 바로 생성됩니다. |
kAction_Ignore
|
다운로드를 완전히 무시합니다. 이 옵션을 선택하고 재시도 로직이 호출되지 않으면 kEvent_Finished API 이벤트 콜백이 WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED 오류와 함께 생성됩니다. |
EventCallback
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
|
새 이미지의 스토리지를 준비합니다. 새 펌웨어 이미지 다운로드를 위해 로컬 저장소를 준비하는 데 필요한 모든 단계를 수행하도록 애플리케이션에 요청합니다. 애플리케이션은 예를 들어 플래시 페이지를 지우는 데 이를 사용할 수 있습니다. 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 )
CheckNow
WEAVE_ERROR CheckNow( void )
GetState
State GetState( void )
ImageInstallComplete
WEAVE_ERROR ImageInstallComplete( WEAVE_ERROR aError )
IsInProgress
bool IsInProgress( void )
PrepareImageStorageComplete
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 )
SetRetryPolicyCallback
void SetRetryPolicyCallback( const RetryPolicyCallback aRetryPolicyCallback )
공개 정적 함수
DefaultEventHandler
void DefaultEventHandler( void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam )
보호된 함수
SoftwareUpdateManager
SoftwareUpdateManager()=default
SoftwareUpdateManager
SoftwareUpdateManager( const SoftwareUpdateManager & )=delete
SoftwareUpdateManager
SoftwareUpdateManager( const SoftwareUpdateManager && )=delete
operator=
SoftwareUpdateManager & operator=( const SoftwareUpdateManager & )=delete
~SoftwareUpdateManager
~SoftwareUpdateManager()=default