Snapdragon® Telematics Application Framework (TelAF) Interface Specification
taf_dcs_server.c File Reference
#include "taf_dcs_server.h"
#include "taf_dcs_messages.h"
#include "taf_dcs_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_dcs_ServerData, HIGH_SERVER_DATA_COUNT, sizeof(_ServerData_t))
 
 LE_REF_DEFINE_STATIC_MAP (taf_dcs_ServerHandlers, LE_MEM_BLOCKS(taf_dcs_ServerCmd, HIGH_SERVER_DATA_COUNT))
 
 __attribute__ ((unused))
 [in] Not used More...
 
le_msg_ServiceRef_t taf_dcs_GetServiceRef (void)
 
le_msg_SessionRef_t taf_dcs_GetClientSessionRef (void)
 
void taf_dcs_AdvertiseService (void)
 
static void Handle_taf_dcs_StartSession (le_msg_MessageRef_t _msgRef)
 
static void AsyncResponse_taf_dcs_StartSessionAsync (taf_dcs_ProfileRef_t profileRef, le_result_t result, void *contextPtr)
 
static void Handle_taf_dcs_StartSessionAsync (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_StopSession (le_msg_MessageRef_t _msgRef)
 
static void AsyncResponse_taf_dcs_StopSessionAsync (taf_dcs_ProfileRef_t profileRef, le_result_t result, void *contextPtr)
 
static void Handle_taf_dcs_StopSessionAsync (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetInterfaceName (le_msg_MessageRef_t _msgRef)
 
static void AsyncResponse_taf_dcs_AddSessionStateHandler (taf_dcs_ProfileRef_t profileRef, taf_dcs_ConState_t state, const taf_dcs_StateInfo_t *LE_NONNULL infoPtr, void *contextPtr)
 
static void Handle_taf_dcs_AddSessionStateHandler (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_RemoveSessionStateHandler (le_msg_MessageRef_t _msgRef)
 
static void AsyncResponse_taf_dcs_AddRoamingStatusHandler (const taf_dcs_RoamingStatusInd_t *LE_NONNULL roamingStatusIndPtr, void *contextPtr)
 
static void Handle_taf_dcs_AddRoamingStatusHandler (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_RemoveRoamingStatusHandler (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetRoamingStatus (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetIPv4Address (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetIPv4GatewayAddress (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetIPv4DNSAddresses (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetIPv6Address (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetIPv6GatewayAddress (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetIPv6DNSAddresses (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetSessionState (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_IsIPv4 (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_IsIPv6 (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetDataBearerTechnology (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetProfileList (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetProfileListEx (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetDefaultProfileIndex (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetDefaultPhoneIdAndProfileId (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_SetDefaultProfileIndex (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_SetDefaultProfileIndexEx (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetProfile (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetProfileEx (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetProfileIndex (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetPhoneId (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_SetAPN (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetAPN (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetApnTypes (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_SetPDP (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetPDP (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_SetAuthentication (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetAuthentication (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetProfileIdByInterfaceName (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_dcs_GetPhoneIdByInterfaceName (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_dcs_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_dcs_ServerHandlers  ,
LE_MEM_BLOCKS(taf_dcs_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_dcs_GetServiceRef()

le_msg_ServiceRef_t taf_dcs_GetServiceRef ( void  )

Get the server service reference

◆ taf_dcs_GetClientSessionRef()

le_msg_SessionRef_t taf_dcs_GetClientSessionRef ( void  )

Get the client session reference for the current message

◆ taf_dcs_AdvertiseService()

void taf_dcs_AdvertiseService ( void  )

Initialize the server and advertise the service.

◆ Handle_taf_dcs_StartSession()

static void Handle_taf_dcs_StartSession ( le_msg_MessageRef_t  _msgRef)
static

◆ AsyncResponse_taf_dcs_StartSessionAsync()

static void AsyncResponse_taf_dcs_StartSessionAsync ( taf_dcs_ProfileRef_t  profileRef,
le_result_t  result,
void *  contextPtr 
)
static

◆ Handle_taf_dcs_StartSessionAsync()

static void Handle_taf_dcs_StartSessionAsync ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_StopSession()

static void Handle_taf_dcs_StopSession ( le_msg_MessageRef_t  _msgRef)
static

◆ AsyncResponse_taf_dcs_StopSessionAsync()

static void AsyncResponse_taf_dcs_StopSessionAsync ( taf_dcs_ProfileRef_t  profileRef,
le_result_t  result,
void *  contextPtr 
)
static

◆ Handle_taf_dcs_StopSessionAsync()

static void Handle_taf_dcs_StopSessionAsync ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetInterfaceName()

static void Handle_taf_dcs_GetInterfaceName ( le_msg_MessageRef_t  _msgRef)
static

◆ AsyncResponse_taf_dcs_AddSessionStateHandler()

static void AsyncResponse_taf_dcs_AddSessionStateHandler ( taf_dcs_ProfileRef_t  profileRef,
taf_dcs_ConState_t  state,
const taf_dcs_StateInfo_t *LE_NONNULL  infoPtr,
void *  contextPtr 
)
static

◆ Handle_taf_dcs_AddSessionStateHandler()

static void Handle_taf_dcs_AddSessionStateHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_RemoveSessionStateHandler()

static void Handle_taf_dcs_RemoveSessionStateHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ AsyncResponse_taf_dcs_AddRoamingStatusHandler()

static void AsyncResponse_taf_dcs_AddRoamingStatusHandler ( const taf_dcs_RoamingStatusInd_t *LE_NONNULL  roamingStatusIndPtr,
void *  contextPtr 
)
static

◆ Handle_taf_dcs_AddRoamingStatusHandler()

static void Handle_taf_dcs_AddRoamingStatusHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_RemoveRoamingStatusHandler()

static void Handle_taf_dcs_RemoveRoamingStatusHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetRoamingStatus()

static void Handle_taf_dcs_GetRoamingStatus ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetIPv4Address()

static void Handle_taf_dcs_GetIPv4Address ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetIPv4GatewayAddress()

static void Handle_taf_dcs_GetIPv4GatewayAddress ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetIPv4DNSAddresses()

static void Handle_taf_dcs_GetIPv4DNSAddresses ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetIPv6Address()

static void Handle_taf_dcs_GetIPv6Address ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetIPv6GatewayAddress()

static void Handle_taf_dcs_GetIPv6GatewayAddress ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetIPv6DNSAddresses()

static void Handle_taf_dcs_GetIPv6DNSAddresses ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetSessionState()

static void Handle_taf_dcs_GetSessionState ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_IsIPv4()

static void Handle_taf_dcs_IsIPv4 ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_IsIPv6()

static void Handle_taf_dcs_IsIPv6 ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetDataBearerTechnology()

static void Handle_taf_dcs_GetDataBearerTechnology ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetProfileList()

static void Handle_taf_dcs_GetProfileList ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetProfileListEx()

static void Handle_taf_dcs_GetProfileListEx ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetDefaultProfileIndex()

static void Handle_taf_dcs_GetDefaultProfileIndex ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetDefaultPhoneIdAndProfileId()

static void Handle_taf_dcs_GetDefaultPhoneIdAndProfileId ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_SetDefaultProfileIndex()

static void Handle_taf_dcs_SetDefaultProfileIndex ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_SetDefaultProfileIndexEx()

static void Handle_taf_dcs_SetDefaultProfileIndexEx ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetProfile()

static void Handle_taf_dcs_GetProfile ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetProfileEx()

static void Handle_taf_dcs_GetProfileEx ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetProfileIndex()

static void Handle_taf_dcs_GetProfileIndex ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetPhoneId()

static void Handle_taf_dcs_GetPhoneId ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_SetAPN()

static void Handle_taf_dcs_SetAPN ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetAPN()

static void Handle_taf_dcs_GetAPN ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetApnTypes()

static void Handle_taf_dcs_GetApnTypes ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_SetPDP()

static void Handle_taf_dcs_SetPDP ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetPDP()

static void Handle_taf_dcs_GetPDP ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_SetAuthentication()

static void Handle_taf_dcs_SetAuthentication ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetAuthentication()

static void Handle_taf_dcs_GetAuthentication ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetProfileIdByInterfaceName()

static void Handle_taf_dcs_GetProfileIdByInterfaceName ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_dcs_GetPhoneIdByInterfaceName()

static void Handle_taf_dcs_GetPhoneIdByInterfaceName ( 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.