ret_code_t pds_register(pds_evt_handler_t evt_handler) { if (m_pds.n_registrants >= MAX_REGISTRANTS) { return NRF_ERROR_NO_MEM; } VERIFY_PARAM_NOT_NULL(evt_handler); if (!MODULE_INITIALIZED) { ret_code_t retval; internal_state_reset(&m_pds); peer_id_init(); retval = fds_register(fds_evt_handler); if (retval != FDS_SUCCESS) { return NRF_ERROR_NO_MEM; } retval = fds_init(); if (retval != FDS_SUCCESS) { return NRF_ERROR_INTERNAL; } } m_pds.evt_handlers[m_pds.n_registrants] = evt_handler; m_pds.n_registrants += 1; return NRF_SUCCESS; }
ret_code_t pds_init() { ret_code_t ret; // Check for re-initialization if debugging. NRF_PM_DEBUG_CHECK(!m_module_initialized); ret = fds_register(fds_evt_handler); if (ret != NRF_SUCCESS) { return NRF_ERROR_INTERNAL; } ret = fds_init(); if (ret != NRF_SUCCESS) { return NRF_ERROR_STORAGE_FULL; } peer_id_init(); peer_ids_load(); m_module_initialized = true; return NRF_SUCCESS; }