nl::Weave::DeviceLayer::SoftwareUpdateManager

Resumo

Herança

Subclasses conhecidas diretas:
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl

Tipos públicos

ActionType{
  kAction_Ignore,
  kAction_DownloadNow,
  kAction_DownloadLater,
  kAction_ApplicationManaged
}
enum
Quando uma atualização de software está disponível, o aplicativo pode escolher uma das seguintes ações como parte do retorno de chamada do evento da API SoftwareUpdateAvailable.
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
Eventos de API gerados pelo objeto SoftwareUpdateManager.
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec) typedef
void(*
State enum

Classes de amizade

Internal::GenericPlatformManagerImpl
friend class

Funções públicas

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

Funções estáticas públicas

DefaultEventHandler(void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
void

Funções protegidas

SoftwareUpdateManager()=default
SoftwareUpdateManager(const SoftwareUpdateManager &)=delete
SoftwareUpdateManager(const SoftwareUpdateManager &&)=delete
operator=(const SoftwareUpdateManager &)=delete
~SoftwareUpdateManager()=default

Estruturas

nl::Weave::DeviceLayer::SoftwareUpdateManager::RetryParam

União

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

Tipos públicos

ActionType

 ActionType

Quando uma atualização de software está disponível, o aplicativo pode escolher uma das seguintes ações como parte do retorno de chamada do evento da API SoftwareUpdateAvailable.

A ação padrão será definida como kAction_Now.

Propriedades
kAction_ApplicationManaged

Permite que o app gerencie as outras fases da atualização do software, como download, validação de integridade de imagem e instalação.

A máquina de estado do gerenciador de atualizações de software será movida para o estado ApplicationManaged. As verificações agendadas de atualização de software (se ativadas) serão suspensas até que o aplicativo chame a API Abort ou ImageInstallComplete.

kAction_DownloadLater

Pausar o download ao iniciar.

As verificações programadas de atualização de software (se ativadas) serão suspensas. A máquina de estado vai permanecer no estado de download. Quando estiver pronto, o aplicativo pode chamar a API de download de currículos para continuar com o download ou chamar abort para cancelar.

kAction_DownloadNow

Inicie o download agora mesmo.

Um retorno de chamada do evento da API kEvent_FetchPartialImageInfo será gerado logo em seguida.

kAction_Ignore

Ignorar completamente o download.

Um retorno de chamada do evento da API kEvent_Finished será gerado com o erro WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED se essa opção for selecionada e a lógica de repetição não for invocada.

EventCallback

void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)

EventType

 EventType

Eventos de API gerados pelo objeto SoftwareUpdateManager.

Propriedades
kEvent_ComputeImageIntegrity

Calcule um valor de verificação de integridade da imagem.

Solicita que o aplicativo calcule um valor de verificação de integridade sobre a imagem transferida por download. Gerado quando o download é concluído.

kEvent_DefaultCheck

Verifique o comportamento de manipulação de eventos padrão.

Usado para verificar o tratamento correto do evento padrão no aplicativo.

Os aplicativos NÃO podem manipular esse evento.

kEvent_FetchPartialImageInfo

Busque informações de estado persistentes para uma imagem parcialmente transferida por download.

Dá ao aplicativo a oportunidade de divulgar informações de uma imagem parcial baixada anteriormente para que o download possa continuar a partir do ponto onde foi interrompido. O URI da atualização de software disponível é fornecido como um parâmetro de entrada que o aplicativo pode usar para comparar se a imagem que está sendo baixada é a mesma que a imagem parcial.

Espera-se que o aplicativo retorne o tamanho da imagem parcial no parâmetro de saída PartialImageLenInBytes. O aplicativo pode definir o valor de partialImageLenInBytes como 0 para indicar que não existe imagem parcial ou que o URI da imagem parcial não corresponde.

O aplicativo pode ignorar esse evento passando-o para o manipulador de eventos padrão. Se isso for feito, o sistema sempre fará o download de toda a imagem de firmware disponível.

kEvent_Finished

Processo de atualização de software concluído.

Gerado quando uma verificação de atualização de software é concluída com ou sem erros. Os parâmetros incluídos nesse evento vão indicar o motivo da falha caso a tentativa tenha sido concluída.

kEvent_PrepareImageStorage

Prepare-se para o armazenamento de uma nova imagem.

Solicita que o aplicativo execute as etapas necessárias para preparar o armazenamento local para o download de uma nova imagem de firmware. O aplicativo pode usar isso, por exemplo, para apagar páginas em Flash.

O evento PrepareImageStorage é gerado apenas quando uma nova imagem de firmware está sendo transferida por download. Quando um download interrompido anteriormente é retomado, o PrepareImageStorage não é gerado.

O aplicativo precisa sinalizar a conclusão da operação de preparação chamando o método PrepareImageStorageComplete(). Isso pode ser feito dentro do próprio retorno de chamada do evento ou posteriormente. Se chamado de uma tarefa diferente da tarefa Weave, o autor da chamada precisa manter o bloqueio de pilha do Weave.

O aplicativo pode ignorar o evento PrepareImageStorage passando-o para o manipulador de eventos padrão. Se isso é feito, o sistema passa automaticamente para o estado de download da imagem.

Para oferecer suporte à retomada de um download interrompido, o aplicativo deve manter o URI da imagem (fornecido como um parâmetro de evento) e usá-lo ao lidar com eventos FetchPartialImageInfo subsequentes.

kEvent_PrepareQuery

Prepare a mensagem ImageQuery.

Gerado quando uma verificação de atualização de software é acionada. Dá ao aplicativo a oportunidade de fornecer informações relacionadas ao produto para a mensagem SofwareUpdate:ImageQuery.

kEvent_PrepareQuery_Metadata

Preparar metadados para a solicitação ImageQuery.

Dá ao aplicativo a oportunidade de anexar metadados adicionais à mensagem SofwareUpdate:ImageQuery, se necessário. Gerado quando a implementação está pronta para receber metadados do aplicativo.

kEvent_QueryPrepareFailed

Erro ao preparar uma solicitação ImageQuery.

Gerado quando a implementação encontra um erro durante a preparação para enviar uma consulta de atualização de software.

kEvent_QuerySent

A solicitação ImageQuery foi enviada.

Evento informativo para sinalizar que uma mensagem SofwareUpdate:ImageQuery foi enviada.

kEvent_ReadyToInstall

A imagem está pronta para ser instalada.

Evento informativo para indicar que a imagem está pronta para ser instalada. Gerado quando uma imagem passa na verificação de integridade.

kEvent_ResetPartialImageInfo

Redefinir o estado de uma imagem parcialmente baixada.

Solicita que o aplicativo esqueça o estado persistido associado a uma imagem transferida por download. Um evento ReturnPartialImageInfo é gerado sempre que uma imagem transferida por download falha na sua verificação de integridade. Após o processamento de um evento RenewPartialImageInfo, os eventos FetchPartialImageInfo subsequentes devem indicar que nenhuma imagem parcial está disponível.

Ao lidar com o evento resetPartialImageInfo, o aplicativo NÃO precisa limpar os dados da imagem, somente as informações de estado associadas a ela (ou seja, o URI e o comprimento parcial da imagem).

Se o aplicativo não for compatível com a retomada do download da imagem, ele poderá ignorar esse evento passando-o para o manipulador de eventos padrão.

kEvent_SoftwareUpdateAvailable

Uma atualização de software está disponível.

Gerado quando um SofwareUpdate:ImageQueryResponse é recebido em resposta a uma consulta contendo informações da atualização disponível.

kEvent_StartImageDownload

O download da imagem começou.

Evento informativo para sinalizar o início de uma transação de download de imagem.

kEvent_StartInstallImage

Inicie a instalação da imagem.

Solicita que o aplicativo seja o processo de instalação de uma imagem de firmware transferida por download.

kEvent_StoreImageBlock

Armazene um bloco de dados de imagem.

Gerado sempre que um bloco de dados é recebido do servidor de download de arquivos. Os parâmetros incluídos nesse evento fornecem os dados e o comprimento deles.

Para oferecer suporte à retomada de um download interrompido, o aplicativo deve manter uma contagem persistente do número total de bytes de imagem armazenados e usar esse valor ao processar eventos FetchPartialImageInfo subsequentes.

RetryPolicyCallback

void(* RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)

Estado

 State

Classes de amizade

Interno::GenericPlatformManagerImpl

friend class Internal::GenericPlatformManagerImpl

Funções públicas

Cancelar

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
)

Funções estáticas públicas

DefaultEventHandler

void DefaultEventHandler(
  void *apAppState,
  EventType aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

Funções protegidas

SoftwareUpdateManager

 SoftwareUpdateManager()=default

SoftwareUpdateManager

 SoftwareUpdateManager(
  const SoftwareUpdateManager &
)=delete

SoftwareUpdateManager

 SoftwareUpdateManager(
  const SoftwareUpdateManager &&
)=delete

operator=

SoftwareUpdateManager & operator=(
  const SoftwareUpdateManager &
)=delete

~SoftwareUpdateManager

 ~SoftwareUpdateManager()=default