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{
  kAction_Ignore,
  kAction_DownloadNow,
  kAction_DownloadLater,
  kAction_ApplicationManaged
}
enum
소프트웨어 업데이트를 사용할 수 있는 경우 애플리케이션은 SoftwareUpdateAvailable API 이벤트 콜백의 일부로 다음 작업 중 하나를 선택할 수 있습니다.
EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventType{
  kEvent_PrepareQuery,
  kEvent_PrepareQuery_Metadata,
  kEvent_QueryPrepareFailed,
  kEvent_QuerySent,
  kEvent_SoftwareUpdateAvailable,
  kEvent_FetchPartialImageInfo,
  kEvent_PrepareImageStorage,
  kEvent_StartImageDownload,
  kEvent_StoreImageBlock,
  kEvent_ComputeImageIntegrity,
  kEvent_ResetPartialImageInfo,
  kEvent_ReadyToInstall,
  kEvent_StartInstallImage,
  kEvent_Finished,
  kEvent_DefaultCheck = 100
}
enum
SoftwareUpdateManager 객체에서 생성된 API 이벤트
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec) typedef
void(*
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::Weave::DeviceLayer::SoftwareUpdateManager::RetryParam

Union

nl::Weave::DeviceLayer::SoftwareUpdateManager::InEventParam
nl::Weave::DeviceLayer::SoftwareUpdateManager::OutEventParam

공개 유형

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가 생성되지 않습니다.

애플리케이션은 PrepareImageStorageComplete() 메서드를 호출하여 준비 작업의 완료를 알려야 합니다. 이벤트 콜백 자체 내에서 또는 나중에 이 작업을 실행할 수 있습니다. Weave 작업이 아닌 다른 작업에서 호출되는 경우 호출자는 Weave 스택 잠금을 유지해야 합니다.

애플리케이션은 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