Snapdragon® Telematics Application Framework (TelAF) Interface Specification
taf_sim_server.c File Reference
#include "taf_sim_server.h"
#include "taf_sim_messages.h"
#include "taf_sim_service.h"

Data Structures

struct  _ServerData_t
 

Macros

#define HIGH_SERVER_DATA_COUNT   3
 
#define _LOCK   LE_ASSERT(pthread_mutex_lock(&_Mutex) == 0);
 
#define _UNLOCK   LE_ASSERT(pthread_mutex_unlock(&_Mutex) == 0);
 
#define TRACE(...)
 
#define IS_TRACE_ENABLED   0
 

Typedefs

typedef void(* RemoveHandlerFunc_t) (void *handlerRef)
 

Functions

 LE_MEM_DEFINE_STATIC_POOL (taf_sim_ServerData, HIGH_SERVER_DATA_COUNT, sizeof(_ServerData_t))
 
 LE_REF_DEFINE_STATIC_MAP (taf_sim_ServerHandlers, LE_MEM_BLOCKS(taf_sim_ServerCmd, HIGH_SERVER_DATA_COUNT))
 
 __attribute__ ((unused))
 [in] Not used More...
 
le_msg_ServiceRef_t taf_sim_GetServiceRef (void)
 
le_msg_SessionRef_t taf_sim_GetClientSessionRef (void)
 
void taf_sim_AdvertiseService (void)
 
static void AsyncResponse_taf_sim_AddNewStateHandler (taf_sim_Id_t slotId, taf_sim_States_t state, void *contextPtr)
 
static void Handle_taf_sim_AddNewStateHandler (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_RemoveNewStateHandler (le_msg_MessageRef_t _msgRef)
 
static void AsyncResponse_taf_sim_AddAuthenticationResponseHandler (taf_sim_Id_t slotId, taf_sim_LockResponse_t responsetype, le_result_t result, void *contextPtr)
 
static void Handle_taf_sim_AddAuthenticationResponseHandler (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_RemoveAuthenticationResponseHandler (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_IsPresent (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_GetState (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_IsReady (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_GetICCID (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_GetIMSI (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_GetHomeNetworkOperator (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_GetSubscriberPhoneNumber (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_GetHomeNetworkMccMnc (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_GetSelectedCard (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_SelectCard (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_EnterPIN (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_ChangePIN (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_GetRemainingPINTries (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_GetRemainingPUKTries (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_Unlock (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_Lock (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_Unblock (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_GetEID (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_SetAutomaticSelection (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_GetAutomaticSelection (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_OpenLogicalChannel (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_CloseLogicalChannel (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_SendApduOnChannel (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_SendApdu (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_SendCommand (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_LocalSwapToEmergencyCallSubscription (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_LocalSwapToCommercialSubscription (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_SetPower (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_Reset (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_IsEmergencyCallSubscriptionSelected (le_msg_MessageRef_t _msgRef)
 
static void AsyncResponse_taf_sim_AddIccidChangeHandler (taf_sim_Id_t simId, const char *LE_NONNULL iccid, void *contextPtr)
 
static void Handle_taf_sim_AddIccidChangeHandler (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_RemoveIccidChangeHandler (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_CreateFPLMNList (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_AddFPLMNOperator (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_GetFirstFPLMNOperator (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_GetNextFPLMNOperator (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_ReadFPLMNList (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_DeleteFPLMNList (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_WriteFPLMNList (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sim_GetSlotCount (le_msg_MessageRef_t _msgRef)
 
static void ServerMsgRecvHandler (le_msg_MessageRef_t msgRef, void *contextPtr)
 

Variables

static le_mem_PoolRef_t _ServerDataPool
 
static le_ref_MapRef_t _HandlerRefMap
 

Macro Definition Documentation

◆ HIGH_SERVER_DATA_COUNT

#define HIGH_SERVER_DATA_COUNT   3

Expected number of simultaneous server data objects.

◆ _LOCK

#define _LOCK   LE_ASSERT(pthread_mutex_lock(&_Mutex) == 0);

◆ _UNLOCK

#define _UNLOCK   LE_ASSERT(pthread_mutex_unlock(&_Mutex) == 0);

◆ TRACE

#define TRACE (   ...)

Trace reference used for controlling tracing in this module.

◆ IS_TRACE_ENABLED

#define IS_TRACE_ENABLED   0

Typedef Documentation

◆ RemoveHandlerFunc_t

typedef void(* RemoveHandlerFunc_t) (void *handlerRef)

Type definition for generic function to remove a handler, given the handler ref.

Function Documentation

◆ LE_MEM_DEFINE_STATIC_POOL()

LE_MEM_DEFINE_STATIC_POOL ( taf_sim_ServerData  ,
HIGH_SERVER_DATA_COUNT  ,
sizeof(_ServerData_t  
)

Static pool for server data objects

◆ LE_REF_DEFINE_STATIC_MAP()

LE_REF_DEFINE_STATIC_MAP ( taf_sim_ServerHandlers  ,
LE_MEM_BLOCKS(taf_sim_ServerCmd, HIGH_SERVER_DATA_COUNT  
)

Static safe reference map for use with Add/Remove handler references

◆ __attribute__()

__attribute__ ( (unused)  )

[in] Not used

[in] Reference to the message.

Mutex and associated macros for use with the above HandlerRefMap.

Unused attribute is needed because this variable may not always get used. Per-server data:

  • Server service reference
  • Server thread reference
  • Client session reference

Cleanup client data if the client is no longer connected

Send the message to the client (queued version)

This is a wrapper around le_msg_Send() with an extra parameter so that it can be used with le_event_QueueFunctionToThread().

Send the message to the client.

◆ taf_sim_GetServiceRef()

le_msg_ServiceRef_t taf_sim_GetServiceRef ( void  )

Get the server service reference

◆ taf_sim_GetClientSessionRef()

le_msg_SessionRef_t taf_sim_GetClientSessionRef ( void  )

Get the client session reference for the current message

◆ taf_sim_AdvertiseService()

void taf_sim_AdvertiseService ( void  )

Initialize the server and advertise the service.

◆ AsyncResponse_taf_sim_AddNewStateHandler()

static void AsyncResponse_taf_sim_AddNewStateHandler ( taf_sim_Id_t  slotId,
taf_sim_States_t  state,
void *  contextPtr 
)
static

◆ Handle_taf_sim_AddNewStateHandler()

static void Handle_taf_sim_AddNewStateHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_RemoveNewStateHandler()

static void Handle_taf_sim_RemoveNewStateHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ AsyncResponse_taf_sim_AddAuthenticationResponseHandler()

static void AsyncResponse_taf_sim_AddAuthenticationResponseHandler ( taf_sim_Id_t  slotId,
taf_sim_LockResponse_t  responsetype,
le_result_t  result,
void *  contextPtr 
)
static

◆ Handle_taf_sim_AddAuthenticationResponseHandler()

static void Handle_taf_sim_AddAuthenticationResponseHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_RemoveAuthenticationResponseHandler()

static void Handle_taf_sim_RemoveAuthenticationResponseHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_IsPresent()

static void Handle_taf_sim_IsPresent ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_GetState()

static void Handle_taf_sim_GetState ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_IsReady()

static void Handle_taf_sim_IsReady ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_GetICCID()

static void Handle_taf_sim_GetICCID ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_GetIMSI()

static void Handle_taf_sim_GetIMSI ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_GetHomeNetworkOperator()

static void Handle_taf_sim_GetHomeNetworkOperator ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_GetSubscriberPhoneNumber()

static void Handle_taf_sim_GetSubscriberPhoneNumber ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_GetHomeNetworkMccMnc()

static void Handle_taf_sim_GetHomeNetworkMccMnc ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_GetSelectedCard()

static void Handle_taf_sim_GetSelectedCard ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_SelectCard()

static void Handle_taf_sim_SelectCard ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_EnterPIN()

static void Handle_taf_sim_EnterPIN ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_ChangePIN()

static void Handle_taf_sim_ChangePIN ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_GetRemainingPINTries()

static void Handle_taf_sim_GetRemainingPINTries ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_GetRemainingPUKTries()

static void Handle_taf_sim_GetRemainingPUKTries ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_Unlock()

static void Handle_taf_sim_Unlock ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_Lock()

static void Handle_taf_sim_Lock ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_Unblock()

static void Handle_taf_sim_Unblock ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_GetEID()

static void Handle_taf_sim_GetEID ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_SetAutomaticSelection()

static void Handle_taf_sim_SetAutomaticSelection ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_GetAutomaticSelection()

static void Handle_taf_sim_GetAutomaticSelection ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_OpenLogicalChannel()

static void Handle_taf_sim_OpenLogicalChannel ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_CloseLogicalChannel()

static void Handle_taf_sim_CloseLogicalChannel ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_SendApduOnChannel()

static void Handle_taf_sim_SendApduOnChannel ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_SendApdu()

static void Handle_taf_sim_SendApdu ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_SendCommand()

static void Handle_taf_sim_SendCommand ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_LocalSwapToEmergencyCallSubscription()

static void Handle_taf_sim_LocalSwapToEmergencyCallSubscription ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_LocalSwapToCommercialSubscription()

static void Handle_taf_sim_LocalSwapToCommercialSubscription ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_SetPower()

static void Handle_taf_sim_SetPower ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_Reset()

static void Handle_taf_sim_Reset ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_IsEmergencyCallSubscriptionSelected()

static void Handle_taf_sim_IsEmergencyCallSubscriptionSelected ( le_msg_MessageRef_t  _msgRef)
static

◆ AsyncResponse_taf_sim_AddIccidChangeHandler()

static void AsyncResponse_taf_sim_AddIccidChangeHandler ( taf_sim_Id_t  simId,
const char *LE_NONNULL  iccid,
void *  contextPtr 
)
static

◆ Handle_taf_sim_AddIccidChangeHandler()

static void Handle_taf_sim_AddIccidChangeHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_RemoveIccidChangeHandler()

static void Handle_taf_sim_RemoveIccidChangeHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_CreateFPLMNList()

static void Handle_taf_sim_CreateFPLMNList ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_AddFPLMNOperator()

static void Handle_taf_sim_AddFPLMNOperator ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_GetFirstFPLMNOperator()

static void Handle_taf_sim_GetFirstFPLMNOperator ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_GetNextFPLMNOperator()

static void Handle_taf_sim_GetNextFPLMNOperator ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_ReadFPLMNList()

static void Handle_taf_sim_ReadFPLMNList ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_DeleteFPLMNList()

static void Handle_taf_sim_DeleteFPLMNList ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_WriteFPLMNList()

static void Handle_taf_sim_WriteFPLMNList ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sim_GetSlotCount()

static void Handle_taf_sim_GetSlotCount ( le_msg_MessageRef_t  _msgRef)
static

◆ ServerMsgRecvHandler()

static void ServerMsgRecvHandler ( le_msg_MessageRef_t  msgRef,
void *  contextPtr 
)
static

Variable Documentation

◆ _ServerDataPool

le_mem_PoolRef_t _ServerDataPool
static

The memory pool for server data objects

◆ _HandlerRefMap

le_ref_MapRef_t _HandlerRefMap
static

Safe Reference Map for use with Add/Remove handler references

Warning
Use _Mutex, defined below, to protect accesses to this data.