Snapdragon® Telematics Application Framework (TelAF) Interface Specification
taf_mdc_interface.h File Reference
#include "legato.h"
#include "taf_types_interface.h"
#include "taf_dcs_interface.h"
#include "taf_mdc_common.h"

Go to the source code of this file.

Typedefs

typedef void(* taf_mdc_DisconnectHandler_t) (void *)
 

Functions

void taf_mdc_ConnectService (void)
 
le_result_t taf_mdc_TryConnectService (void)
 
LE_FULL_API void taf_mdc_SetServerDisconnectHandler (taf_mdc_DisconnectHandler_t disconnectHandler, void *contextPtr)
 
LE_FULL_API void taf_mdc_SetNonExitServerDisconnectHandler (taf_mdc_DisconnectHandler_t disconnectHandler, void *contextPtr)
 
void taf_mdc_DisconnectService (void)
 
le_result_t taf_mdc_StartSession (taf_dcs_ProfileRef_t profileRef)
 
le_result_t taf_mdc_StartSessionAsync (taf_dcs_ProfileRef_t profileRef)
 
le_result_t taf_mdc_StopSession (taf_dcs_ProfileRef_t profileRef)
 
le_result_t taf_mdc_StopSessionAsync (taf_dcs_ProfileRef_t profileRef)
 

Typedef Documentation

◆ taf_mdc_DisconnectHandler_t

typedef void(* taf_mdc_DisconnectHandler_t) (void *)

Type for handler called when a server disconnects.

Function Documentation

◆ taf_mdc_ConnectService()

void taf_mdc_ConnectService ( void  )

Connect the current client thread to the service providing this API. Block until the service is available.

For each thread that wants to use this API, either ConnectService or TryConnectService must be called before any other functions in this API. Normally, ConnectService is automatically called for the main thread, but not for any other thread. For details, see apiFilesC_client.

This function is created automatically.

◆ taf_mdc_TryConnectService()

le_result_t taf_mdc_TryConnectService ( void  )

Try to connect the current client thread to the service providing this API. Return with an error if the service is not available.

For each thread that wants to use this API, either ConnectService or TryConnectService must be called before any other functions in this API. Normally, ConnectService is automatically called for the main thread, but not for any other thread. For details, see apiFilesC_client.

This function is created automatically.

Returns
  • LE_OK if the client connected successfully to the service.
  • LE_UNAVAILABLE if the server is not currently offering the service to which the client is bound.
  • LE_NOT_PERMITTED if the client interface is not bound to any service (doesn't have a binding).
  • LE_COMM_ERROR if the Service Directory cannot be reached.

◆ taf_mdc_SetServerDisconnectHandler()

LE_FULL_API void taf_mdc_SetServerDisconnectHandler ( taf_mdc_DisconnectHandler_t  disconnectHandler,
void *  contextPtr 
)

Set handler called when server disconnection is detected.

When a server connection is lost, call this handler then exit with LE_FATAL. If a program wants to continue without exiting, it should call longjmp() from inside the handler.

◆ taf_mdc_SetNonExitServerDisconnectHandler()

LE_FULL_API void taf_mdc_SetNonExitServerDisconnectHandler ( taf_mdc_DisconnectHandler_t  disconnectHandler,
void *  contextPtr 
)

Set handler called when server disconnection is detected without exiting.

When a server connection is lost, call this handler without exit.

Warning
When using the API, it needs the application developer to handle some cases like re-connecting and recycling the resources. For most of cases, it is safe to use SetServerDisconnectHandler.

◆ taf_mdc_DisconnectService()

void taf_mdc_DisconnectService ( void  )

Disconnect the current client thread from the service providing this API.

Normally, this function doesn't need to be called. After this function is called, there's no longer a connection to the service, and the functions in this API can't be used. For details, see apiFilesC_client.

This function is created automatically.

◆ taf_mdc_StartSession()

le_result_t taf_mdc_StartSession ( taf_dcs_ProfileRef_t  profileRef)

Starts a permanent synchronous data cellular session for the given profile reference.

Returns
  • LE_OK Successfully made the data call.
  • LE_NOT_FOUND Parameter is invalid or cannot create the data call.
  • LE_OUT_OF_RANGE PDP type is unknown.
  • LE_BUSY Profile is in use.
  • LE_TIMEOUT Timed out while attempting to make the data call.
  • LE_FAULT Failed to make the data call.
Parameters
[in]profileRefThe taf_dcs profile reference.

◆ taf_mdc_StartSessionAsync()

le_result_t taf_mdc_StartSessionAsync ( taf_dcs_ProfileRef_t  profileRef)

Starts a permanent asynchronous data cellular session for the given profile reference.

Returns
  • LE_OK Successfully made the data call.
  • LE_NOT_FOUND Parameter is invalid or cannot create the data call.
  • LE_OUT_OF_RANGE PDP type is unknown.
  • LE_BUSY Profile is in use.
  • LE_TIMEOUT Timed out while attempting to make the data call.
  • LE_FAULT Failed to make the data call.
Parameters
[in]profileRefThe taf_dcs profile reference.

◆ taf_mdc_StopSession()

le_result_t taf_mdc_StopSession ( taf_dcs_ProfileRef_t  profileRef)

Synchronously stops a permanent data cellular session for the given profile reference.

Returns
  • LE_OK Successfully stopped the data call.
  • LE_NOT_FOUND Could not find the data call to stop.
  • LE_OUT_OF_RANGE PDP type is unknown.
  • LE_BAD_PARAMETER Call context is NULL.
  • LE_TIMEOUT Timed out while attempting to stop the data call.
  • LE_FAULT Failed to stop the data call.
Parameters
[in]profileRefThe taf_dcs profile reference.

◆ taf_mdc_StopSessionAsync()

le_result_t taf_mdc_StopSessionAsync ( taf_dcs_ProfileRef_t  profileRef)

Asynchronously stops a permanent data cellular session for the given profile reference.

Returns
  • LE_OK Successfully stopped the data call.
  • LE_NOT_FOUND Could not find the data call to stop .
  • LE_OUT_OF_RANGE PDP type is unknown.
  • LE_BAD_PARAMETER Call context is NULL.
  • LE_TIMEOUT Timed out while attempting to stop the data call.
  • LE_FAULT Failed to stop the data call.
Parameters
[in]profileRefThe taf_dcs profile reference.