Snapdragon® Telematics Application Framework (TelAF) Interface Specification
taf_sms_server.c File Reference
#include "taf_sms_server.h"
#include "taf_sms_messages.h"
#include "taf_sms_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_sms_ServerData, HIGH_SERVER_DATA_COUNT, sizeof(_ServerData_t))
 
 LE_REF_DEFINE_STATIC_MAP (taf_sms_ServerHandlers, LE_MEM_BLOCKS(taf_sms_ServerCmd, HIGH_SERVER_DATA_COUNT))
 
 __attribute__ ((unused))
 [in] Not used More...
 
le_msg_ServiceRef_t taf_sms_GetServiceRef (void)
 
le_msg_SessionRef_t taf_sms_GetClientSessionRef (void)
 
void taf_sms_AdvertiseService (void)
 
static void Handle_taf_sms_CreateRxMsgList (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_DeleteList (le_msg_MessageRef_t _msgRef)
 
static void AsyncResponse_taf_sms_AddRxMsgHandler (taf_sms_MsgRef_t msgRef, void *contextPtr)
 
static void Handle_taf_sms_AddRxMsgHandler (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_RemoveRxMsgHandler (le_msg_MessageRef_t _msgRef)
 
static void AsyncResponse_taf_sms_AddFullStorageEventHandler (taf_sms_StorageFullType_t fullType, void *contextPtr)
 
static void Handle_taf_sms_AddFullStorageEventHandler (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_RemoveFullStorageEventHandler (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetFirst (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetNext (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetSendStatus (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetReadStatus (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetLockStatus (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_Create (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_SetDestination (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_SetText (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_SetBinary (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_SetUCS2 (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_SetPDU (le_msg_MessageRef_t _msgRef)
 
static void AsyncResponse_taf_sms_SetCallback (taf_sms_MsgRef_t msgRef, taf_sms_SendStatus_t status, void *contextPtr)
 
static void Handle_taf_sms_SetCallback (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_SetPhoneId (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_Delete (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetPhoneId (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetSenderTel (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetText (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetBinary (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetUCS2 (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetPDU (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetPDULen (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetType (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetFormat (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetUserdataLen (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_Send (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_DeleteFromStorage (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_DeleteAllFromStorage (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_MarkRead (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_MarkUnread (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_LockFromStorage (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_UnlockFromStorage (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_EncryptFromStorage (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetSmsCenterAddress (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_SetSmsCenterAddress (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_SetPreferredStorage (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_GetPreferredStorage (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_SendPduMsg (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_SendPduMsgEx (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_ActivateCellBroadcast (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_DeactivateCellBroadcast (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_AddCellBroadcastIds (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_sms_RemoveCellBroadcastIds (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_sms_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_sms_ServerHandlers  ,
LE_MEM_BLOCKS(taf_sms_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_sms_GetServiceRef()

le_msg_ServiceRef_t taf_sms_GetServiceRef ( void  )

Get the server service reference

◆ taf_sms_GetClientSessionRef()

le_msg_SessionRef_t taf_sms_GetClientSessionRef ( void  )

Get the client session reference for the current message

◆ taf_sms_AdvertiseService()

void taf_sms_AdvertiseService ( void  )

Initialize the server and advertise the service.

◆ Handle_taf_sms_CreateRxMsgList()

static void Handle_taf_sms_CreateRxMsgList ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_DeleteList()

static void Handle_taf_sms_DeleteList ( le_msg_MessageRef_t  _msgRef)
static

◆ AsyncResponse_taf_sms_AddRxMsgHandler()

static void AsyncResponse_taf_sms_AddRxMsgHandler ( taf_sms_MsgRef_t  msgRef,
void *  contextPtr 
)
static

◆ Handle_taf_sms_AddRxMsgHandler()

static void Handle_taf_sms_AddRxMsgHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_RemoveRxMsgHandler()

static void Handle_taf_sms_RemoveRxMsgHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ AsyncResponse_taf_sms_AddFullStorageEventHandler()

static void AsyncResponse_taf_sms_AddFullStorageEventHandler ( taf_sms_StorageFullType_t  fullType,
void *  contextPtr 
)
static

◆ Handle_taf_sms_AddFullStorageEventHandler()

static void Handle_taf_sms_AddFullStorageEventHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_RemoveFullStorageEventHandler()

static void Handle_taf_sms_RemoveFullStorageEventHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetFirst()

static void Handle_taf_sms_GetFirst ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetNext()

static void Handle_taf_sms_GetNext ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetSendStatus()

static void Handle_taf_sms_GetSendStatus ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetReadStatus()

static void Handle_taf_sms_GetReadStatus ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetLockStatus()

static void Handle_taf_sms_GetLockStatus ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_Create()

static void Handle_taf_sms_Create ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_SetDestination()

static void Handle_taf_sms_SetDestination ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_SetText()

static void Handle_taf_sms_SetText ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_SetBinary()

static void Handle_taf_sms_SetBinary ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_SetUCS2()

static void Handle_taf_sms_SetUCS2 ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_SetPDU()

static void Handle_taf_sms_SetPDU ( le_msg_MessageRef_t  _msgRef)
static

◆ AsyncResponse_taf_sms_SetCallback()

static void AsyncResponse_taf_sms_SetCallback ( taf_sms_MsgRef_t  msgRef,
taf_sms_SendStatus_t  status,
void *  contextPtr 
)
static

◆ Handle_taf_sms_SetCallback()

static void Handle_taf_sms_SetCallback ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_SetPhoneId()

static void Handle_taf_sms_SetPhoneId ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_Delete()

static void Handle_taf_sms_Delete ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetPhoneId()

static void Handle_taf_sms_GetPhoneId ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetSenderTel()

static void Handle_taf_sms_GetSenderTel ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetText()

static void Handle_taf_sms_GetText ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetBinary()

static void Handle_taf_sms_GetBinary ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetUCS2()

static void Handle_taf_sms_GetUCS2 ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetPDU()

static void Handle_taf_sms_GetPDU ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetPDULen()

static void Handle_taf_sms_GetPDULen ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetType()

static void Handle_taf_sms_GetType ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetFormat()

static void Handle_taf_sms_GetFormat ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetUserdataLen()

static void Handle_taf_sms_GetUserdataLen ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_Send()

static void Handle_taf_sms_Send ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_DeleteFromStorage()

static void Handle_taf_sms_DeleteFromStorage ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_DeleteAllFromStorage()

static void Handle_taf_sms_DeleteAllFromStorage ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_MarkRead()

static void Handle_taf_sms_MarkRead ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_MarkUnread()

static void Handle_taf_sms_MarkUnread ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_LockFromStorage()

static void Handle_taf_sms_LockFromStorage ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_UnlockFromStorage()

static void Handle_taf_sms_UnlockFromStorage ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_EncryptFromStorage()

static void Handle_taf_sms_EncryptFromStorage ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetSmsCenterAddress()

static void Handle_taf_sms_GetSmsCenterAddress ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_SetSmsCenterAddress()

static void Handle_taf_sms_SetSmsCenterAddress ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_SetPreferredStorage()

static void Handle_taf_sms_SetPreferredStorage ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_GetPreferredStorage()

static void Handle_taf_sms_GetPreferredStorage ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_SendPduMsg()

static void Handle_taf_sms_SendPduMsg ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_SendPduMsgEx()

static void Handle_taf_sms_SendPduMsgEx ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_ActivateCellBroadcast()

static void Handle_taf_sms_ActivateCellBroadcast ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_DeactivateCellBroadcast()

static void Handle_taf_sms_DeactivateCellBroadcast ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_AddCellBroadcastIds()

static void Handle_taf_sms_AddCellBroadcastIds ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_sms_RemoveCellBroadcastIds()

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