nRF51 SDK - S120 SoftDevice
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages

Functions

uint32_t ble_db_discovery_init (void)
 Function for initializing the DB Discovery module. More...
 
uint32_t ble_db_discovery_close (void)
 Function for closing the DB Discovery module. More...
 
uint32_t ble_db_discovery_evt_register (const ble_uuid_t *const p_uuid, const ble_db_discovery_evt_handler_t evt_handler)
 Function for registering with the DB Discovery module. More...
 
uint32_t ble_db_discovery_start (ble_db_discovery_t *const p_db_discovery, uint16_t conn_handle)
 Function for starting the discovery of the GATT database at the server. More...
 
void ble_db_discovery_on_ble_evt (ble_db_discovery_t *const p_db_discovery, const ble_evt_t *const p_ble_evt)
 Function for handling the Application's BLE Stack events. More...
 

Detailed Description

Function Documentation

uint32_t ble_db_discovery_close ( void  )

Function for closing the DB Discovery module.

This function will clear up any internal variables and states maintained by the module. To re-use the module after calling this function, the function ble_db_discovery_init must be called again.

Return values
NRF_SUCCESSOperation success.
uint32_t ble_db_discovery_evt_register ( const ble_uuid_t *const  p_uuid,
const ble_db_discovery_evt_handler_t  evt_handler 
)

Function for registering with the DB Discovery module.

The application can use this function to inform which service it is interested in discovering at the server.

Parameters
[in]p_uuidPointer to the UUID of the service to be discovered at the server.
[in]evt_handlerEvent handler to be called by the DB discovery module when any event related to discovery of the registered service occurs.
Note
The total number of services that can be discovered by this module is BLE_DB_DISCOVERY_MAX_SRV. This effectively means that the maximum number of registrations possible is equal to the BLE_DB_DISCOVERY_MAX_SRV.
Return values
NRF_SUCCESSOperation success.
NRF_ERROR_NULLWhen a NULL pointer is passed as input.
NRF_ERROR_INVALID_STATEIf this function is called without calling the ble_db_discovery_init.
NRF_ERROR_NOT_SUPPORTEDThe maximum number of registrations allowed by this module has been reached.
uint32_t ble_db_discovery_init ( void  )

Function for initializing the DB Discovery module.

Return values
NRF_SUCCESSon successful initialization.
void ble_db_discovery_on_ble_evt ( ble_db_discovery_t *const  p_db_discovery,
const ble_evt_t *const  p_ble_evt 
)

Function for handling the Application's BLE Stack events.

Parameters
[in,out]p_db_discoveryPointer to the DB Discovery structure.
[in]p_ble_evtPointer to the BLE event received.
uint32_t ble_db_discovery_start ( ble_db_discovery_t *const  p_db_discovery,
uint16_t  conn_handle 
)

Function for starting the discovery of the GATT database at the server.

Warning
p_db_discovery structure must be zero-initialized.
Parameters
[out]p_db_discoveryPointer to the DB Discovery structure.
[in]conn_handleThe handle of the connection for which the discovery should be started.
Return values
NRF_SUCCESSOperation success.
NRF_ERROR_NULLWhen a NULL pointer is passed as input.
NRF_ERROR_INVALID_STATEIf this function is called without calling the ble_db_discovery_init, or without calling ble_db_discovery_evt_register.
NRF_ERROR_BUSYIf a discovery is already in progress for the current connection.
Returns
This API propagates the error code returned by the SoftDevice API sd_ble_gattc_primary_services_discover.