nl :: Tecer:: DeviceLayer :: SoftwareUpdateManager
Resumo
Herança
Subclasses diretamente conhecidas: 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 de 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 |
RetryPolicyCallback )(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec) | typedef void(* |
State | enum |
Tipos públicos
Tipo de acão
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 de evento da API SoftwareUpdateAvailable.
A ação padrão será definida como kAction_Now.
Propriedades |
---|
kAction_ApplicationManaged | Permite que o aplicativo gerencie o restante das fases de atualização do software, como download, validação da integridade da imagem e instalação. A máquina de estado do gerenciador de atualização de software mudará para o estado ApplicationManaged. As verificações de atualização de software agendadas (se ativadas) serão suspensas até que o aplicativo chame Abort ou ImageInstallComplete API. |
kAction_DownloadLater | Pausar o download ao iniciar. As verificações de atualização de software agendadas (se habilitadas) serão suspensas. A máquina de estado permanecerá no estado de download. Quando estiver pronto, o aplicativo pode chamar a API resume download para prosseguir com o download ou chamar Abort para cancelar. |
kAction_DownloadNow | Comece o download imediatamente. Um retorno de chamada de evento da API kEvent_FetchPartialImageInfo será gerado logo em seguida. |
kAction_Ignore | Ignore o download completamente. Um retorno de chamada de evento de API kEvent_Finished será gerado com o erro WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED se esta opção for selecionada e a lógica de repetição não for chamada. |
EventCallback
void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
Tipo de evento
EventType
Eventos API geradas pelo SoftwareUpdateManager
objeto.
Propriedades |
---|
kEvent_ComputeImageIntegrity | Calcule um valor de verificação de integridade de imagem. Solicita que o aplicativo calcule um valor de verificação de integridade sobre a imagem baixada. Gerado quando o download é concluído. |
kEvent_DefaultCheck | Verifique o comportamento padrão de tratamento de eventos. Usado para verificar o tratamento de eventos padrão correto no aplicativo. Os aplicativos NÃO devem lidar com este evento. |
kEvent_FetchPartialImageInfo | Buscar informações de estado persistente para uma imagem baixada parcialmente. Fornece uma oportunidade para o aplicativo divulgar informações de uma imagem parcial baixada anteriormente para que o download possa ser continuado do ponto em que foi interrompido pela última vez. 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 é igual à imagem parcial. O aplicativo deve retornar o comprimento da imagem parcial no parâmetro de saída PartialImageLenInBytes. O aplicativo pode definir o valor de PartialImageLenInBytes como 0 para indicar que nenhuma imagem parcial existe ou que o URI da imagem parcial não corresponde. O aplicativo pode escolher 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 neste evento fornecem o motivo da falha se a tentativa terminou devido a uma falha. |
kEvent_PrepareImageStorage | Prepare-se para o armazenamento de uma nova imagem. Solicita que o aplicativo execute todas 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 flash. O evento PrepareImageStorage é gerado apenas no caso em que uma nova imagem de firmware está sendo baixada. Quando um download interrompido anteriormente é retomado, PrepareImageStorage não é gerado. A aplicação deve assinalar a conclusão da operação de preparar chamando o PrepareImageStorageComplete() método. Isso pode ser feito no próprio retorno de chamada do evento ou posteriormente. Se chamado de uma tarefa diferente da tarefa Weave, o chamador deve manter o bloqueio de pilha Weave. O aplicativo pode escolher ignorar o evento PrepareImageStorage passando-o para o manipulador de eventos padrão. Se isso for feito, o sistema passa automaticamente para o estado de download da imagem. Para suportar a 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 foi acionada. Fornece uma oportunidade para o aplicativo fornecer informações relacionadas ao produto para a mensagem SofwareUpdate: ImageQuery. |
kEvent_PrepareQuery_Metadata | Prepare metadados para a solicitação ImageQuery. Fornece uma oportunidade para o aplicativo anexar metadados adicionais à mensagem SofwareUpdate: ImageQuery, se necessário. Gerado quando a implementação está pronta para obter metadados do aplicativo. |
kEvent_QueryPrepareFailed | Erro ao preparar uma solicitação ImageQuery. Gerado quando a implementação encontra um erro ao se preparar 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 sinalizar que a imagem está pronta para ser instalada. Gerado assim que uma imagem passa na verificação de integridade. |
kEvent_ResetPartialImageInfo | Redefina o estado da imagem baixada parcialmente. Solicita que o aplicativo esqueça o estado persistente associado a uma imagem baixada. Um evento ResetPartialImageInfo é gerado sempre que uma imagem baixada falha em sua verificação de integridade. Após o processamento de um evento ResetPartialImageInfo, os eventos FetchPartialImageInfo subsequentes devem indicar que nenhuma imagem parcial está disponível. Observe que, ao lidar com o evento ResetPartialImageInfo, o aplicativo NÃO é obrigado a limpar os dados da imagem em si, apenas as informações de estado associadas à imagem (ou seja, o URI e o comprimento parcial da imagem). Se o aplicativo não suportar a retomada do download da imagem, ele pode ignorar esse evento passando-o para o manipulador de eventos padrão. |
kEvent_SoftwareUpdateAvailable | A atualização do 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 | Comece a instalação da imagem. Solicita que o aplicativo seja o processo de instalação de uma imagem de firmware baixada. |
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 neste evento fornecem os dados e o comprimento dos dados. Para suportar a 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 manipular eventos FetchPartialImageInfo subsequentes. |
RetryPolicyCallback
void(* RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)
Aulas de amigos
friend class Internal::GenericPlatformManagerImpl
Funções públicas
GetState
State GetState(
void
)
Está em andamento
bool IsInProgress(
void
)
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
Funções protegidas
SoftwareUpdateManager
SoftwareUpdateManager()=default
~ SoftwareUpdateManager
~SoftwareUpdateManager()=default