static void gap_remove(struct btd_service *service) { struct btd_device *device = btd_service_get_device(service); struct gas *gas; char addr[18]; ba2str(device_get_address(device), addr); DBG("GAP profile remove (%s)", addr); gas = btd_service_get_user_data(service); if (!gas) { error("GAP service not handled by profile"); return; } gas_free(gas); }
static void gap_driver_remove(struct btd_service *service) { struct btd_device *device = btd_service_get_device(service); struct gas *gas; GSList *l; char addr[18]; ba2str(device_get_address(device), addr); DBG("GAP profile remove (%s)", addr); l = g_slist_find_custom(devices, device, cmp_device); if (!l) { error("GAP service not handled by profile"); return; } gas = l->data; devices = g_slist_remove(devices, gas); gas_free(gas); }
/** * @param user_data Only used for immediate memory methods. */ GASresult gas_context_destroy (GAScontext* s, GASvoid* user_data)/*{{{*/ { gas_free(s, user_data); return GAS_OK; }/*}}}*/