Snapdragon® Telematics Application Framework (TelAF) Interface Specification
taf_mngdConn_common.h File Reference
#include "legato.h"
#include "taf_sim_common.h"
#include "taf_radio_common.h"
#include "taf_dcs_common.h"

Go to the source code of this file.

Macros

#define IFGEN_TAF_MNGDCONN_PROTOCOL_ID   "feb1441f3017abb1a34087f85f0ee150"
 
#define IFGEN_TAF_MNGDCONN_MSG_SIZE   82
 
#define TAF_MNGDCONN_MAX_NAME_LEN   32
 

Typedefs

typedef struct taf_mngdConn_Data * taf_mngdConn_DataRef_t
 
typedef struct taf_mngdConn_DataStateHandler * taf_mngdConn_DataStateHandlerRef_t
 
typedef struct taf_mngdConn_RecoveryStateHandler * taf_mngdConn_RecoveryStateHandlerRef_t
 
typedef void(* taf_mngdConn_DataStateHandlerFunc_t) (taf_mngdConn_DataRef_t dataRef, taf_mngdConn_DataState_t state, void *contextPtr)
 
typedef void(* taf_mngdConn_RecoveryStateHandlerFunc_t) (taf_mngdConn_RecoveryState_t state, taf_mngdConn_DataRef_t dataRef, void *contextPtr)
 

Enumerations

enum  taf_mngdConn_DataState_t { TAF_MNGDCONN_DATA_DISCONNECTED = 0, TAF_MNGDCONN_DATA_CONNECTED = 1, TAF_MNGDCONN_DATA_CONNECTION_FAILED = 2, TAF_MNGDCONN_DATA_CONNECTION_STALLED = 3 }
 
enum  taf_mngdConn_RecoveryState_t {
  TAF_MNGDCONN_RECOVERY_L1_SCHEDULED = 0, TAF_MNGDCONN_RECOVERY_L1_STARTED = 1, TAF_MNGDCONN_RECOVERY_L1_CANCELED = 2, TAF_MNGDCONN_RECOVERY_L2_SCHEDULED = 3,
  TAF_MNGDCONN_RECOVERY_L2_STARTED = 4, TAF_MNGDCONN_RECOVERY_L2_CANCELED = 5
}
 

Functions

LE_SHARED bool ifgen_taf_mngdConn_HasLocalBinding (void)
 
LE_SHARED void ifgen_taf_mngdConn_InitCommonData (void)
 
LE_SHARED void ifgen_taf_mngdConn_CleanupCommonData (le_msg_SessionRef_t _ifgen_sessionRef)
 
LE_SHARED le_result_t ifgen_taf_mngdConn_OpenSession (le_msg_SessionRef_t _ifgen_sessionRef, bool isBlocking)
 
LE_SHARED taf_mngdConn_DataStateHandlerRef_t ifgen_taf_mngdConn_AddDataStateHandler (le_msg_SessionRef_t _ifgen_sessionRef, taf_mngdConn_DataRef_t dataRef, taf_mngdConn_DataStateHandlerFunc_t handlerPtr, void *contextPtr)
 
LE_SHARED void ifgen_taf_mngdConn_RemoveDataStateHandler (le_msg_SessionRef_t _ifgen_sessionRef, taf_mngdConn_DataStateHandlerRef_t handlerRef)
 
LE_SHARED taf_mngdConn_RecoveryStateHandlerRef_t ifgen_taf_mngdConn_AddRecoveryStateHandler (le_msg_SessionRef_t _ifgen_sessionRef, taf_mngdConn_RecoveryStateHandlerFunc_t handlerPtr, void *contextPtr)
 
LE_SHARED void ifgen_taf_mngdConn_RemoveRecoveryStateHandler (le_msg_SessionRef_t _ifgen_sessionRef, taf_mngdConn_RecoveryStateHandlerRef_t handlerRef)
 
LE_SHARED taf_mngdConn_DataRef_t ifgen_taf_mngdConn_GetData (le_msg_SessionRef_t _ifgen_sessionRef, uint8_t dataId)
 
LE_SHARED taf_mngdConn_DataRef_t ifgen_taf_mngdConn_GetDataByName (le_msg_SessionRef_t _ifgen_sessionRef, const char *LE_NONNULL dataName)
 
LE_SHARED le_result_t ifgen_taf_mngdConn_GetDataIdByRef (le_msg_SessionRef_t _ifgen_sessionRef, taf_mngdConn_DataRef_t dataRef, uint8_t *dataIdPtr)
 
LE_SHARED le_result_t ifgen_taf_mngdConn_GetDataNameByRef (le_msg_SessionRef_t _ifgen_sessionRef, taf_mngdConn_DataRef_t dataRef, char *dataName, size_t dataNameSize)
 
LE_SHARED le_result_t ifgen_taf_mngdConn_StartData (le_msg_SessionRef_t _ifgen_sessionRef, taf_mngdConn_DataRef_t dataRef)
 
LE_SHARED le_result_t ifgen_taf_mngdConn_StopData (le_msg_SessionRef_t _ifgen_sessionRef, taf_mngdConn_DataRef_t dataRef)
 
LE_SHARED le_result_t ifgen_taf_mngdConn_GetDataConnectionState (le_msg_SessionRef_t _ifgen_sessionRef, taf_mngdConn_DataRef_t dataRef, taf_mngdConn_DataState_t *statePtr)
 
LE_SHARED le_result_t ifgen_taf_mngdConn_GetDataConnectionIPAddresses (le_msg_SessionRef_t _ifgen_sessionRef, taf_mngdConn_DataRef_t dataRef, char *IPv4Addr, size_t IPv4AddrSize, char *IPv6Addr, size_t IPv6AddrSize)
 
LE_SHARED le_result_t ifgen_taf_mngdConn_StartDataRetry (le_msg_SessionRef_t _ifgen_sessionRef, taf_mngdConn_DataRef_t dataRef)
 
LE_SHARED le_result_t ifgen_taf_mngdConn_CancelL1Recovery (le_msg_SessionRef_t _ifgen_sessionRef, taf_mngdConn_DataRef_t dataRef)
 
LE_SHARED le_result_t ifgen_taf_mngdConn_CancelL2Recovery (le_msg_SessionRef_t _ifgen_sessionRef, taf_mngdConn_DataRef_t dataRef)
 

Macro Definition Documentation

◆ IFGEN_TAF_MNGDCONN_PROTOCOL_ID

#define IFGEN_TAF_MNGDCONN_PROTOCOL_ID   "feb1441f3017abb1a34087f85f0ee150"

◆ IFGEN_TAF_MNGDCONN_MSG_SIZE

#define IFGEN_TAF_MNGDCONN_MSG_SIZE   82

◆ TAF_MNGDCONN_MAX_NAME_LEN

#define TAF_MNGDCONN_MAX_NAME_LEN   32

The maximum length of an object's name in the configuration JSON.

Typedef Documentation

◆ taf_mngdConn_DataRef_t

typedef struct taf_mngdConn_Data* taf_mngdConn_DataRef_t

Reference to data.

◆ taf_mngdConn_DataStateHandlerRef_t

typedef struct taf_mngdConn_DataStateHandler* taf_mngdConn_DataStateHandlerRef_t

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

◆ taf_mngdConn_RecoveryStateHandlerRef_t

typedef struct taf_mngdConn_RecoveryStateHandler* taf_mngdConn_RecoveryStateHandlerRef_t

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

◆ taf_mngdConn_DataStateHandlerFunc_t

typedef void(* taf_mngdConn_DataStateHandlerFunc_t) (taf_mngdConn_DataRef_t dataRef, taf_mngdConn_DataState_t state, void *contextPtr)

Handler for data state.

◆ taf_mngdConn_RecoveryStateHandlerFunc_t

typedef void(* taf_mngdConn_RecoveryStateHandlerFunc_t) (taf_mngdConn_RecoveryState_t state, taf_mngdConn_DataRef_t dataRef, void *contextPtr)

Handler for recovery state.

Enumeration Type Documentation

◆ taf_mngdConn_DataState_t

The data state.

Enumerator
TAF_MNGDCONN_DATA_DISCONNECTED 

Transition state to CONNECTED or FAILED.

TAF_MNGDCONN_DATA_CONNECTED 

Data connected state.

TAF_MNGDCONN_DATA_CONNECTION_FAILED 

The service is not able to reconnect data even after retries.

TAF_MNGDCONN_DATA_CONNECTION_STALLED 

Transition state to CONNECTED or DISCONNECTED.

◆ taf_mngdConn_RecoveryState_t

The connectivity recovery states.

Enumerator
TAF_MNGDCONN_RECOVERY_L1_SCHEDULED 

L1 recovery is scheduled to start.

TAF_MNGDCONN_RECOVERY_L1_STARTED 

L1 recovery is started.

TAF_MNGDCONN_RECOVERY_L1_CANCELED 

A scheduled L1 recovery is canceled.

TAF_MNGDCONN_RECOVERY_L2_SCHEDULED 

L2 recovery is scheduled to start.

TAF_MNGDCONN_RECOVERY_L2_STARTED 

L2 recovery is started.

TAF_MNGDCONN_RECOVERY_L2_CANCELED 

A scheduled L2 recovery is canceled.

Function Documentation

◆ ifgen_taf_mngdConn_HasLocalBinding()

LE_SHARED bool ifgen_taf_mngdConn_HasLocalBinding ( void  )

Get if this client bound locally.

◆ ifgen_taf_mngdConn_InitCommonData()

LE_SHARED void ifgen_taf_mngdConn_InitCommonData ( void  )

Init data that is common across all threads

◆ ifgen_taf_mngdConn_CleanupCommonData()

LE_SHARED void ifgen_taf_mngdConn_CleanupCommonData ( le_msg_SessionRef_t  _ifgen_sessionRef)

Cleanup the data of a session

◆ ifgen_taf_mngdConn_OpenSession()

LE_SHARED le_result_t ifgen_taf_mngdConn_OpenSession ( le_msg_SessionRef_t  _ifgen_sessionRef,
bool  isBlocking 
)

Perform common initialization and open a session

◆ ifgen_taf_mngdConn_AddDataStateHandler()

LE_SHARED taf_mngdConn_DataStateHandlerRef_t ifgen_taf_mngdConn_AddDataStateHandler ( le_msg_SessionRef_t  _ifgen_sessionRef,
taf_mngdConn_DataRef_t  dataRef,
taf_mngdConn_DataStateHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'taf_mngdConn_DataState'

Events to report data state.

Parameters
[in]dataRefThe data reference.
[in]handlerPtrThe event handler reference.
[in]contextPtr

◆ ifgen_taf_mngdConn_RemoveDataStateHandler()

LE_SHARED void ifgen_taf_mngdConn_RemoveDataStateHandler ( le_msg_SessionRef_t  _ifgen_sessionRef,
taf_mngdConn_DataStateHandlerRef_t  handlerRef 
)

Remove handler function for EVENT 'taf_mngdConn_DataState'

Parameters
[in]handlerRef

◆ ifgen_taf_mngdConn_AddRecoveryStateHandler()

LE_SHARED taf_mngdConn_RecoveryStateHandlerRef_t ifgen_taf_mngdConn_AddRecoveryStateHandler ( le_msg_SessionRef_t  _ifgen_sessionRef,
taf_mngdConn_RecoveryStateHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'taf_mngdConn_RecoveryState'

Events to report recovery state.

Parameters
[in]handlerPtrThe event handler reference.
[in]contextPtr

◆ ifgen_taf_mngdConn_RemoveRecoveryStateHandler()

LE_SHARED void ifgen_taf_mngdConn_RemoveRecoveryStateHandler ( le_msg_SessionRef_t  _ifgen_sessionRef,
taf_mngdConn_RecoveryStateHandlerRef_t  handlerRef 
)

Remove handler function for EVENT 'taf_mngdConn_RecoveryState'

Parameters
[in]handlerRef

◆ ifgen_taf_mngdConn_GetData()

LE_SHARED taf_mngdConn_DataRef_t ifgen_taf_mngdConn_GetData ( le_msg_SessionRef_t  _ifgen_sessionRef,
uint8_t  dataId 
)

Gets the data reference for the given data ID(as provided in the configuration JSON).

Returns
  • NULL – Error.
  • Others – The data reference.
Parameters
[in]dataIdThe data ID to use.

◆ ifgen_taf_mngdConn_GetDataByName()

LE_SHARED taf_mngdConn_DataRef_t ifgen_taf_mngdConn_GetDataByName ( le_msg_SessionRef_t  _ifgen_sessionRef,
const char *LE_NONNULL  dataName 
)

Gets the data reference for the given data name(as provided in the configuration JSON).

Returns
  • NULL – Error.
  • Others – The data reference.
Parameters
[in]dataNameThe data name to use.

◆ ifgen_taf_mngdConn_GetDataIdByRef()

LE_SHARED le_result_t ifgen_taf_mngdConn_GetDataIdByRef ( le_msg_SessionRef_t  _ifgen_sessionRef,
taf_mngdConn_DataRef_t  dataRef,
uint8_t *  dataIdPtr 
)

Gets the data object ID (as provided in the configuration JSON) for the given data reference.

Returns
  • LE_OK – Succeeded.
  • LE_NOT_FOUND – Data reference not found.
  • Appropriate error is returned on failure.
Parameters
[in]dataRefThe data reference.
[out]dataIdPtrThe data object ID from the configuration JSON.

◆ ifgen_taf_mngdConn_GetDataNameByRef()

LE_SHARED le_result_t ifgen_taf_mngdConn_GetDataNameByRef ( le_msg_SessionRef_t  _ifgen_sessionRef,
taf_mngdConn_DataRef_t  dataRef,
char *  dataName,
size_t  dataNameSize 
)

Gets the data object name (as provided in the configuration JSON) for the given data reference.

Returns
  • LE_OK – Succeeded.
  • LE_NOT_FOUND – Data reference not found.
  • Appropriate error is returned on failure.
Parameters
[in]dataRefThe data reference.
[out]dataNameThe data object name from the configuration JSON.
[in]dataNameSize

◆ ifgen_taf_mngdConn_StartData()

LE_SHARED le_result_t ifgen_taf_mngdConn_StartData ( le_msg_SessionRef_t  _ifgen_sessionRef,
taf_mngdConn_DataRef_t  dataRef 
)

Starts a data session for the given data reference. This API should be used when the value of "AutoStart" is "No" in the configuration file.

The service tracks clients that call StartData for Data objects with AutoStart:No and is used to manage StopData behavior.

Returns
  • LE_OK – Succeeded.
  • LE_DUPLICATE – The data connection is already started.
  • LE_IN_PROGRESS – The data connection establishment retry is in progress.
  • Appropriate error is returned on failure.
Parameters
[in]dataRefThe data reference.

◆ ifgen_taf_mngdConn_StopData()

LE_SHARED le_result_t ifgen_taf_mngdConn_StopData ( le_msg_SessionRef_t  _ifgen_sessionRef,
taf_mngdConn_DataRef_t  dataRef 
)

Stops a data cellular session for the given data reference.

Data will be stopped only when all clients that have called StartData for data objects with AutoStart:No either stop data or exit.

Returns
  • LE_OK – Succeeded.
  • LE_NOT_PERMITTED – If data is auto started by the service, application cannot stop data.
  • Appropriate error is returned on failure.
Parameters
[in]dataRefThe data reference.

◆ ifgen_taf_mngdConn_GetDataConnectionState()

LE_SHARED le_result_t ifgen_taf_mngdConn_GetDataConnectionState ( le_msg_SessionRef_t  _ifgen_sessionRef,
taf_mngdConn_DataRef_t  dataRef,
taf_mngdConn_DataState_t statePtr 
)

Gets the data connection state information for the given data reference.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Bad parameter.
  • Appropriate error is returned on failure.
Parameters
[in]dataRefThe data reference.
[out]statePtrThe data state.

◆ ifgen_taf_mngdConn_GetDataConnectionIPAddresses()

LE_SHARED le_result_t ifgen_taf_mngdConn_GetDataConnectionIPAddresses ( le_msg_SessionRef_t  _ifgen_sessionRef,
taf_mngdConn_DataRef_t  dataRef,
char *  IPv4Addr,
size_t  IPv4AddrSize,
char *  IPv6Addr,
size_t  IPv6AddrSize 
)

Gets the data connection IP addresses for the given data reference. An empty string is returned if either IP address is not available.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Bad parameter.
  • Appropriate error is returned on failure.
Parameters
[in]dataRefThe data reference.
[out]IPv4AddrIPv4 Address.
[in]IPv4AddrSize
[out]IPv6AddrIPv6 Address.
[in]IPv6AddrSize

◆ ifgen_taf_mngdConn_StartDataRetry()

LE_SHARED le_result_t ifgen_taf_mngdConn_StartDataRetry ( le_msg_SessionRef_t  _ifgen_sessionRef,
taf_mngdConn_DataRef_t  dataRef 
)

Starts the data retry mechanism. If data session is connected, the data session will be disconnected before data retry mechanism is started. This function is asynchronous and applications should monitor taf_mngdConn_DataState_t events.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Bad parameter.
  • Appropriate error is returned on failure.
Parameters
[in]dataRefThe data reference.

◆ ifgen_taf_mngdConn_CancelL1Recovery()

LE_SHARED le_result_t ifgen_taf_mngdConn_CancelL1Recovery ( le_msg_SessionRef_t  _ifgen_sessionRef,
taf_mngdConn_DataRef_t  dataRef 
)

Cancels a scheduled L1 recovery process. A L1 recovery could be scheduled for one or more data connetions. For a scheduled L1 recovery process to be canceled, this API should be called for all data references for which L1 recovery has been scheduled.

Returns
  • LE_OK – Succeeded.
  • LE_NOT_POSSIBLE – A L1 recovery process has not been scheduled.
  • LE_NOT_PERMITTED – A L1 recovery process has already started.
  • Appropriate error is returned on failure.
Parameters
[in]dataRefThe data reference.

◆ ifgen_taf_mngdConn_CancelL2Recovery()

LE_SHARED le_result_t ifgen_taf_mngdConn_CancelL2Recovery ( le_msg_SessionRef_t  _ifgen_sessionRef,
taf_mngdConn_DataRef_t  dataRef 
)

Cancels a scheduled L2 recovery process. A L2 recovery could be scheduled for one or more data connetions. For a scheduled L2 recovery process to be canceled, this API should be called for all data references for which L2 recovery has been scheduled.

Returns
  • LE_OK – Succeeded.
  • LE_NOT_POSSIBLE – A L2 recovery process has not been scheduled.
  • LE_NOT_PERMITTED – A L2 recovery process has already started.
  • Appropriate error is returned on failure.
Parameters
[in]dataRefThe data reference.