le_avc_interface.h File Reference
#include "legato.h"
#include "le_limit_interface.h"

Go to the source code of this file.

Typedefs

typedef struct le_avc_StatusEventHandler * le_avc_StatusEventHandlerRef_t
 
typedef struct le_avc_BlockRequest * le_avc_BlockRequestRef_t
 
typedef void(* le_avc_StatusHandlerFunc_t) (le_avc_Status_t updateStatus, int32_t totalNumBytes, int32_t dloadProgress, void *contextPtr)
 

Enumerations

enum  le_avc_Status_t {
  LE_AVC_NO_UPDATE, LE_AVC_DOWNLOAD_PENDING, LE_AVC_DOWNLOAD_IN_PROGRESS, LE_AVC_DOWNLOAD_COMPLETE,
  LE_AVC_DOWNLOAD_FAILED, LE_AVC_INSTALL_PENDING, LE_AVC_INSTALL_IN_PROGRESS, LE_AVC_INSTALL_COMPLETE,
  LE_AVC_INSTALL_FAILED, LE_AVC_UNINSTALL_PENDING, LE_AVC_UNINSTALL_IN_PROGRESS, LE_AVC_UNINSTALL_COMPLETE,
  LE_AVC_UNINSTALL_FAILED, LE_AVC_SESSION_STARTED, LE_AVC_SESSION_STOPPED
}
 
enum  le_avc_UpdateType_t { LE_AVC_UNKNOWN_UPDATE, LE_AVC_FIRMWARE_UPDATE, LE_AVC_FRAMEWORK_UPDATE, LE_AVC_APPLICATION_UPDATE }
 

Functions

void le_avc_ConnectService (void)
 
void le_avc_DisconnectService (void)
 
le_avc_StatusEventHandlerRef_t le_avc_AddStatusEventHandler (le_avc_StatusHandlerFunc_t handlerPtr, void *contextPtr)
 
void le_avc_RemoveStatusEventHandler (le_avc_StatusEventHandlerRef_t addHandlerRef)
 
le_result_t le_avc_StartSession (void)
 
le_result_t le_avc_StopSession (void)
 
le_result_t le_avc_AcceptDownload (void)
 
le_result_t le_avc_DeferDownload (uint32_t deferMinutes)
 
le_result_t le_avc_AcceptInstall (void)
 
le_result_t le_avc_DeferInstall (uint32_t deferMinutes)
 
le_result_t le_avc_AcceptUninstall (void)
 
le_result_t le_avc_DeferUninstall (uint32_t deferMinutes)
 
le_result_t le_avc_GetUpdateType (le_avc_UpdateType_t *updateTypePtr)
 
le_result_t le_avc_GetAppUpdateName (char *updateName, size_t updateNameNumElements)
 
le_avc_BlockRequestRef_t le_avc_BlockInstall (void)
 
void le_avc_UnblockInstall (le_avc_BlockRequestRef_t blockRef)
 

Detailed Description

Legato AirVantage Connector include file.

Copyright (C) Sierra Wireless Inc. Use of this work is subject to license.

Typedef Documentation

typedef struct le_avc_BlockRequest* le_avc_BlockRequestRef_t

Reference returned by BlockInstall function and used by UnblockInstall function

typedef struct le_avc_StatusEventHandler* le_avc_StatusEventHandlerRef_t

Reference type used by Add/Remove functions for EVENT 'le_avc_StatusEvent'

typedef void(* le_avc_StatusHandlerFunc_t) (le_avc_Status_t updateStatus, int32_t totalNumBytes, int32_t dloadProgress, void *contextPtr)

Handler for update availability status

Parameters
updateStatusstatus of pending update, if available
totalNumBytesTotal number of bytes to be downloaded only valid when updateStatus is one of DOWNLOAD_PENDING, DOWNLOAD_IN_PROGRESS or DOWNLOAD_COMPLETE. returns -1 if value is unknown
dloadProgressdownload completion in percentage only valid when updateStatus is one of DOWNLOAD_PENDING, DOWNLOAD_IN_PROGRESS or DOWNLOAD_COMPLETE. returns -1 if value is unknown
contextPtr

Enumeration Type Documentation

Status of session or update

If an update is pending, it must first be downloaded and then installed.

Enumerator
LE_AVC_NO_UPDATE 

No updates pending.

LE_AVC_DOWNLOAD_PENDING 

Update pending download.

LE_AVC_DOWNLOAD_IN_PROGRESS 

Download in progress.

LE_AVC_DOWNLOAD_COMPLETE 

Download has completed.

LE_AVC_DOWNLOAD_FAILED 

An error occurred downloading the update.

LE_AVC_INSTALL_PENDING 

Install is pending (implies download complete)

LE_AVC_INSTALL_IN_PROGRESS 

Install in progress.

LE_AVC_INSTALL_COMPLETE 

Update has been successfully installed.

LE_AVC_INSTALL_FAILED 

An error occurred installing the update.

LE_AVC_UNINSTALL_PENDING 

Uninstall is pending.

LE_AVC_UNINSTALL_IN_PROGRESS 

Uninstall in progress.

LE_AVC_UNINSTALL_COMPLETE 

App has been successfully uninstalled.

LE_AVC_UNINSTALL_FAILED 

An error occurred uninstalling the update.

LE_AVC_SESSION_STARTED 

Session with AV server started.

LE_AVC_SESSION_STOPPED 

Session with AV server stopped.

The type of pending update

Function Documentation

le_result_t le_avc_AcceptDownload ( void  )

Accept the currently pending download

Returns
  • LE_OK on success
  • LE_FAULT on failure
le_result_t le_avc_AcceptInstall ( void  )

Accept the currently pending install

Returns
  • LE_OK on success
  • LE_FAULT on failure
le_result_t le_avc_AcceptUninstall ( void  )

Accept the currently pending uninstall

Returns
  • LE_OK on success
  • LE_FAULT on failure
le_avc_StatusEventHandlerRef_t le_avc_AddStatusEventHandler ( le_avc_StatusHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'le_avc_StatusEvent'

This event provides information on update availability status

Parameters
[in]handlerPtr
[in]contextPtr
le_avc_BlockRequestRef_t le_avc_BlockInstall ( void  )

Prevent any pending updates from being installed.

Returns
  • Reference for block update request (to be used later for unblocking updates)
  • NULL if the operation was not successful
void le_avc_ConnectService ( void  )

Connect the client to the service

le_result_t le_avc_DeferDownload ( uint32_t  deferMinutes)

Defer the currently pending download, for the given number of minutes

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[in]deferMinutes
le_result_t le_avc_DeferInstall ( uint32_t  deferMinutes)

Defer the currently pending install

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[in]deferMinutes
le_result_t le_avc_DeferUninstall ( uint32_t  deferMinutes)

Defer the currently pending uninstall

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[in]deferMinutes
void le_avc_DisconnectService ( void  )

Disconnect the client from the service

le_result_t le_avc_GetAppUpdateName ( char *  updateName,
size_t  updateNameNumElements 
)

Get the name for the currently pending app update

Returns
  • LE_OK on success
  • LE_FAULT if not available, or isn't APPL_UPDATE type
Parameters
[out]updateName
[in]updateNameNumElements
le_result_t le_avc_GetUpdateType ( le_avc_UpdateType_t updateTypePtr)

Get the update type of the currently pending update

Returns
  • LE_OK on success
  • LE_FAULT if not available
Parameters
[out]updateTypePtr
void le_avc_RemoveStatusEventHandler ( le_avc_StatusEventHandlerRef_t  addHandlerRef)

Remove handler function for EVENT 'le_avc_StatusEvent'

Parameters
[in]addHandlerRef
le_result_t le_avc_StartSession ( void  )

Start a session with the AirVantage server

This will cause a query to be sent to the server, for pending updates. If a download was previously suspended, then this resumes the download.

Returns
  • LE_OK on success
  • LE_FAULT on failure
le_result_t le_avc_StopSession ( void  )

Stop a session with the AirVantage server

If a download is in progress, then this suspends the download.

Returns
  • LE_OK on success
  • LE_FAULT on failure
void le_avc_UnblockInstall ( le_avc_BlockRequestRef_t  blockRef)

Allow any pending updates to be installed

Parameters
[in]blockRefblock request ref returned by le_avc_BlockInstall