Snapdragon® Telematics Application Framework (TelAF) Interface Specification
le_updateCtrl_common.h File Reference
#include "legato.h"

Go to the source code of this file.

Macros

#define IFGEN_LE_UPDATECTRL_PROTOCOL_ID   "2068715d5da737c096cc7146ce5f1df6"
 
#define IFGEN_LE_UPDATECTRL_MSG_SIZE   12
 

Enumerations

enum  le_updateCtrl_SystemState_t { LE_UPDATECTRL_SYSTEMSTATE_GOOD = 0, LE_UPDATECTRL_SYSTEMSTATE_BAD = 1, LE_UPDATECTRL_SYSTEMSTATE_PROBATION = 2 }
 

Functions

LE_SHARED bool ifgen_le_updateCtrl_HasLocalBinding (void)
 
LE_SHARED void ifgen_le_updateCtrl_InitCommonData (void)
 
LE_SHARED void ifgen_le_updateCtrl_CleanupCommonData (le_msg_SessionRef_t _ifgen_sessionRef)
 
LE_SHARED le_result_t ifgen_le_updateCtrl_OpenSession (le_msg_SessionRef_t _ifgen_sessionRef, bool isBlocking)
 
LE_SHARED void ifgen_le_updateCtrl_Defer (le_msg_SessionRef_t _ifgen_sessionRef)
 
LE_SHARED void ifgen_le_updateCtrl_Allow (le_msg_SessionRef_t _ifgen_sessionRef)
 
LE_SHARED bool ifgen_le_updateCtrl_LockProbation (le_msg_SessionRef_t _ifgen_sessionRef)
 
LE_SHARED void ifgen_le_updateCtrl_UnlockProbation (le_msg_SessionRef_t _ifgen_sessionRef)
 
LE_SHARED le_result_t ifgen_le_updateCtrl_MarkGood (le_msg_SessionRef_t _ifgen_sessionRef, bool force)
 
LE_SHARED void ifgen_le_updateCtrl_FailProbation (le_msg_SessionRef_t _ifgen_sessionRef)
 
LE_SHARED le_updateCtrl_SystemState_t ifgen_le_updateCtrl_GetSystemState (le_msg_SessionRef_t _ifgen_sessionRef)
 

Macro Definition Documentation

◆ IFGEN_LE_UPDATECTRL_PROTOCOL_ID

#define IFGEN_LE_UPDATECTRL_PROTOCOL_ID   "2068715d5da737c096cc7146ce5f1df6"

◆ IFGEN_LE_UPDATECTRL_MSG_SIZE

#define IFGEN_LE_UPDATECTRL_MSG_SIZE   12

Enumeration Type Documentation

◆ le_updateCtrl_SystemState_t

State of the system.

Enumerator
LE_UPDATECTRL_SYSTEMSTATE_GOOD 

"good"

LE_UPDATECTRL_SYSTEMSTATE_BAD 

"bad"

LE_UPDATECTRL_SYSTEMSTATE_PROBATION 

"tried N" or untried.

Function Documentation

◆ ifgen_le_updateCtrl_HasLocalBinding()

LE_SHARED bool ifgen_le_updateCtrl_HasLocalBinding ( void  )

Get if this client bound locally.

◆ ifgen_le_updateCtrl_InitCommonData()

LE_SHARED void ifgen_le_updateCtrl_InitCommonData ( void  )

Init data that is common across all threads

◆ ifgen_le_updateCtrl_CleanupCommonData()

LE_SHARED void ifgen_le_updateCtrl_CleanupCommonData ( le_msg_SessionRef_t  _ifgen_sessionRef)

Cleanup the data of a session

◆ ifgen_le_updateCtrl_OpenSession()

LE_SHARED le_result_t ifgen_le_updateCtrl_OpenSession ( le_msg_SessionRef_t  _ifgen_sessionRef,
bool  isBlocking 
)

Perform common initialization and open a session

◆ ifgen_le_updateCtrl_Defer()

LE_SHARED void ifgen_le_updateCtrl_Defer ( le_msg_SessionRef_t  _ifgen_sessionRef)

Prevent all updates (and roll-backs) until further notice.

◆ ifgen_le_updateCtrl_Allow()

LE_SHARED void ifgen_le_updateCtrl_Allow ( le_msg_SessionRef_t  _ifgen_sessionRef)

Allow updates to go ahead.

◆ ifgen_le_updateCtrl_LockProbation()

LE_SHARED bool ifgen_le_updateCtrl_LockProbation ( le_msg_SessionRef_t  _ifgen_sessionRef)

Prevent the probation period from ending.

Returns
false if lock failed (for example if not in a probation period).

◆ ifgen_le_updateCtrl_UnlockProbation()

LE_SHARED void ifgen_le_updateCtrl_UnlockProbation ( le_msg_SessionRef_t  _ifgen_sessionRef)

Cancels a call to LockProbation(), allow the probation period to end.

Note
Must match previous successful call to LockProbation().

◆ ifgen_le_updateCtrl_MarkGood()

LE_SHARED le_result_t ifgen_le_updateCtrl_MarkGood ( le_msg_SessionRef_t  _ifgen_sessionRef,
bool  force 
)

Marks the system "good", ending the probation period.

Returns
  • LE_OK The system was marked Good
  • LE_BUSY Someone holds a probation lock
  • LE_DUPLICATE Probation has expired - the system has already been marked
Parameters
[in]forceTrue to set system Good even if someone holds a probation lock

◆ ifgen_le_updateCtrl_FailProbation()

LE_SHARED void ifgen_le_updateCtrl_FailProbation ( le_msg_SessionRef_t  _ifgen_sessionRef)

Marks the system "bad" and triggers a roll-back to a "good" system.

Note
Ignored if the probation period has already ended. Also, the roll-back may be delayed if someone is deferring updates using le_updateCtrl_Defer().

◆ ifgen_le_updateCtrl_GetSystemState()

LE_SHARED le_updateCtrl_SystemState_t ifgen_le_updateCtrl_GetSystemState ( le_msg_SessionRef_t  _ifgen_sessionRef)

Get the current system state.

Note
Can only be called if updates have been deferred or if a probation lock is held. Otherwise the system state could change between the time this function is called and when the return value is checked.