#include "legato.h"
#include "le_limit_common.h"
Go to the source code of this file.
◆ IFGEN_LE_UPDATE_PROTOCOL_ID
#define IFGEN_LE_UPDATE_PROTOCOL_ID "17cd65c5c26efb8f22650432980df70f" |
◆ IFGEN_LE_UPDATE_MSG_SIZE
#define IFGEN_LE_UPDATE_MSG_SIZE 48 |
◆ le_update_ProgressHandlerRef_t
Reference type used by Add/Remove functions for EVENT 'le_update_Progress'
◆ le_update_ProgressHandlerFunc_t
typedef void(* le_update_ProgressHandlerFunc_t) (le_update_State_t updateState, uint32_t percentDone, void *contextPtr) |
The client callback function (handler) passed to le_update_Start() must look like this.
◆ le_update_State_t
Different states in the update state machine. The state machine is maintained to track the update task underway.
Example: for successful installation task, state transitions look like:
--> UNPACKING --> DOWNLOAD_SUCCESS --> APPLYING --> SUCCESS.
| |
+---------------------------------+-------> FAILED.
Enumerator |
---|
LE_UPDATE_STATE_UNPACKING | Unpacking update data.
|
LE_UPDATE_STATE_DOWNLOAD_SUCCESS | Update data downloaded successfully.
|
LE_UPDATE_STATE_APPLYING | Applying update(i.e. installation/removal operation going on).
|
LE_UPDATE_STATE_SUCCESS | Successfully completed all update task.
|
LE_UPDATE_STATE_FAILED | Update failed due to some error or deletion request.
|
◆ le_update_ErrorCode_t
Error code used to provide diagnostic information after a failed update.
- Note
- Additional information may also be available in the target device's system log.
Enumerator |
---|
LE_UPDATE_ERR_NONE | No error.
|
LE_UPDATE_ERR_BAD_PACKAGE | Encountered bad update package. Check logs.
|
LE_UPDATE_ERR_INTERNAL_ERROR | Something failed while doing update. Check logs.
|
LE_UPDATE_ERR_SECURITY_FAILURE | Error while doing security check of the package.
|
◆ ifgen_le_update_HasLocalBinding()
LE_SHARED bool ifgen_le_update_HasLocalBinding |
( |
void |
| ) |
|
Get if this client bound locally.
◆ ifgen_le_update_InitCommonData()
LE_SHARED void ifgen_le_update_InitCommonData |
( |
void |
| ) |
|
Init data that is common across all threads
◆ ifgen_le_update_CleanupCommonData()
Cleanup the data of a session
◆ ifgen_le_update_OpenSession()
Perform common initialization and open a session
◆ ifgen_le_update_AddProgressHandler()
Add handler function for EVENT 'le_update_Progress'
Register for notification of the progress of a given update.
- Parameters
-
[in] | handlerPtr | Progress handler |
[in] | contextPtr | |
◆ ifgen_le_update_RemoveProgressHandler()
Remove handler function for EVENT 'le_update_Progress'
- Parameters
-
◆ ifgen_le_update_Start()
Starts an update.
Progress is reported via the progress handler callback.
- Returns
- LE_OK if accepted.
- LE_BUSY if another update is in progress.
- LE_UNAVAILABLE if the system is still in "probation" (not marked "good" yet).
- Parameters
-
[in] | fd | Open file descriptor from which the update can be read. |
◆ ifgen_le_update_Install()
Install the update
- Returns
- LE_OK if installation started.
- LE_BUSY if package download is not finished yet.
- LE_FAULT if there is an error. Check logs
◆ ifgen_le_update_End()
Ends an update session. If the update isn't finished yet, cancels it.
◆ ifgen_le_update_GetErrorCode()
Function to get error code when update fails.
- Returns
- Error code of encountered error.
- ERR_NONE if update is in any other state.
◆ ifgen_le_update_GetCurrentSysIndex()
Get the index of the currently running system.
- Returns
- The index of the running system.
◆ ifgen_le_update_GetSystemHash()
Gets the hash ID for a given system.
- Returns
- LE_OK if no problems are encountered.
- LE_NOT_FOUND if the given index does not correspond to an available system.
- LE_OVERFLOW if the supplied buffer is too small.
- LE_FORMAT_ERROR if there are problems reading the hash for the system.
- Parameters
-
[in] | systemIndex | The system to read the hash for. |
[out] | hashStr | Buffer to hold the system hash string. |
[in] | hashStrSize | |
◆ ifgen_le_update_GetPreviousSystemIndex()
Get the index for the previous system in the chain, using the current system as a starting point.
- Returns
- The index to the system that's previous to the given system. -1 is returned if the previous system was not found.
- Parameters
-
[in] | systemIndex | Get the system that's older than this system. |