le_data_interface.h
Go to the documentation of this file.
18 * A data connection is needed for applications that exchange data with devices where SMS messages19 * are insufficient or not possible. The data connection can be established over a mobile network,22 * The data connection service provides a basic API for requesting and releasing a data connection.28 * All the functions of this API are provided by the @b dataConnectionService application service.43 * be called indicating it's now connected. The interface name is sent only when the data connection45 * called with the new state. To release a data connection, an application can use le_data_Release().49 * If the default data connection is not currently available when le_data_Request() is called, the50 * data connection service first ensures all pre-conditions are satisfied (e.g., modem is registered54 * connection will not be started. Instead, the existing data connection will be used. This happens60 * transmitting data when the state is connected, and should stop transmitting data when the state62 * establish or re-establish the connection endlessly until le_data_Release() is called. There's no66 * le_data_Release(). The data connection will be released only after le_data_Release() is called by69 * @note When using the cellular technology, the data connection service can use a specific cellular72 * retrieved by le_data_GetCellularProfileIndex(). The profile to use is loaded when the first data94 * @note The default route activation status can be retrieved with le_data_GetDefaultRouteStatus().99 * A sample code showing how to set the modem default route if it isn't set by the data connection101 * @snippet "apps/test/dataConnectionService/dataConnectionServiceRouteTest/dcsRouteTestComp/dcsRouteTest.c" DefaultRoute120 * one in the list is used for the default data connection. If the connection is also unavailable135 * and @c r+n+1. Technologies with ranks under @c r are not impacted. If the technology is already143 * When the data connection service is connected, the date and time can be retrieved from a distant144 * server using le_data_GetDate() and le_data_GetTime(). The time protocol and time server to use152 * <tt> time.nist.gov </tt> for @ref LE_DATA_TP and to <tt> pool.ntp.org </tt> for @ref LE_DATA_NTP.154 * @note The configured time protocol needs to be supported by your platform to be used by the data223 //--------------------------------------------------------------------------------------------------227 //--------------------------------------------------------------------------------------------------230 //--------------------------------------------------------------------------------------------------233 * Connect the current client thread to the service providing this API. Block until the service is236 * For each thread that wants to use this API, either ConnectService or TryConnectService must be237 * called before any other functions in this API. Normally, ConnectService is automatically called242 //--------------------------------------------------------------------------------------------------248 //--------------------------------------------------------------------------------------------------251 * Try to connect the current client thread to the service providing this API. Return with an error254 * For each thread that wants to use this API, either ConnectService or TryConnectService must be255 * called before any other functions in this API. Normally, ConnectService is automatically called264 * - LE_NOT_PERMITTED if the client interface is not bound to any service (doesn't have a binding).267 //--------------------------------------------------------------------------------------------------273 //--------------------------------------------------------------------------------------------------277 * When a server connection is lost, call this handler then exit with LE_FATAL. If a program wants280 //--------------------------------------------------------------------------------------------------287 //--------------------------------------------------------------------------------------------------293 * longer a connection to the service, and the functions in this API can't be used. For details, see298 //--------------------------------------------------------------------------------------------------305 //--------------------------------------------------------------------------------------------------309 //--------------------------------------------------------------------------------------------------312 //--------------------------------------------------------------------------------------------------316 //--------------------------------------------------------------------------------------------------319 //--------------------------------------------------------------------------------------------------323 //--------------------------------------------------------------------------------------------------327 //--------------------------------------------------------------------------------------------------331 //--------------------------------------------------------------------------------------------------344 //--------------------------------------------------------------------------------------------------348 //--------------------------------------------------------------------------------------------------359 //--------------------------------------------------------------------------------------------------363 //--------------------------------------------------------------------------------------------------367 //--------------------------------------------------------------------------------------------------371 //--------------------------------------------------------------------------------------------------373 (382 //--------------------------------------------------------------------------------------------------388 //--------------------------------------------------------------------------------------------------397 //--------------------------------------------------------------------------------------------------401 //--------------------------------------------------------------------------------------------------408 //--------------------------------------------------------------------------------------------------416 //--------------------------------------------------------------------------------------------------422 //--------------------------------------------------------------------------------------------------426 //--------------------------------------------------------------------------------------------------433 //--------------------------------------------------------------------------------------------------442 //--------------------------------------------------------------------------------------------------451 //--------------------------------------------------------------------------------------------------458 //--------------------------------------------------------------------------------------------------464 //--------------------------------------------------------------------------------------------------471 //--------------------------------------------------------------------------------------------------477 //--------------------------------------------------------------------------------------------------487 //--------------------------------------------------------------------------------------------------493 //--------------------------------------------------------------------------------------------------501 //--------------------------------------------------------------------------------------------------507 //--------------------------------------------------------------------------------------------------522 //--------------------------------------------------------------------------------------------------530 //--------------------------------------------------------------------------------------------------532 * Delete a route on the data connection service interface, if the data session is connected using545 //--------------------------------------------------------------------------------------------------553 //--------------------------------------------------------------------------------------------------555 * Get the cellular profile index used by the data connection service when the cellular technology561 //--------------------------------------------------------------------------------------------------567 //--------------------------------------------------------------------------------------------------569 * Set the cellular profile index used by the data connection service when the cellular technology577 //--------------------------------------------------------------------------------------------------584 //--------------------------------------------------------------------------------------------------595 //--------------------------------------------------------------------------------------------------606 //--------------------------------------------------------------------------------------------------617 //--------------------------------------------------------------------------------------------------le_result_t le_data_GetDate(uint16_t *yearPtr, uint16_t *monthPtr, uint16_t *dayPtr)void le_data_ConnectService(void)void(* le_data_ConnectionStateHandlerFunc_t)(const char *LE_NONNULL intfName, bool isConnected, void *contextPtr)Definition: le_data_interface.h:373void le_data_Release(le_data_RequestObjRef_t requestRef)le_data_RequestObjRef_t le_data_Request(void)struct le_data_RequestObj * le_data_RequestObjRef_tDefinition: le_data_interface.h:324void le_data_RemoveConnectionStateHandler(le_data_ConnectionStateHandlerRef_t handlerRef)le_result_t le_data_SetTechnologyRank(uint32_t rank, le_data_Technology_t technology)le_data_Technology_t le_data_GetNextUsedTechnology(void)le_result_t le_data_AddRoute(const char *LE_NONNULL ipDestAddrStr)int32_t le_data_GetCellularProfileIndex(void)le_result_t le_data_TryConnectService(void)void le_data_DisconnectService(void)le_result_t le_data_GetTime(uint16_t *hoursPtr, uint16_t *minutesPtr, uint16_t *secondsPtr, uint16_t *millisecondsPtr)le_result_t le_data_SetCellularProfileIndex(int32_t profileIndex)void le_data_SetServerDisconnectHandler(le_data_DisconnectHandler_t disconnectHandler, void *contextPtr)le_data_Technology_t le_data_GetTechnology(void)le_result_t le_data_DelRoute(const char *LE_NONNULL ipDestAddrStr)void(* le_data_DisconnectHandler_t)(void *)Definition: le_data_interface.h:228struct le_data_ConnectionStateHandler * le_data_ConnectionStateHandlerRef_tDefinition: le_data_interface.h:364bool le_data_GetDefaultRouteStatus(void)le_data_Technology_t le_data_GetFirstUsedTechnology(void)le_data_ConnectionStateHandlerRef_t le_data_AddConnectionStateHandler(le_data_ConnectionStateHandlerFunc_t handlerPtr, void *contextPtr)