1 // Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 
16 #include "btc/btc_task.h"
17 #include "osi/thread.h"
18 
19 #if BTC_DYNAMIC_MEMORY == FALSE
20 void *btc_profile_cb_tab[BTC_PID_NUM] = {};
21 #else
22 void **btc_profile_cb_tab;
23 #endif
24 
esp_profile_cb_reset(void)25 void esp_profile_cb_reset(void)
26 {
27     int i;
28 
29     for (i = 0; i < BTC_PID_NUM; i++) {
30         btc_profile_cb_tab[i] = NULL;
31     }
32 }
33 
btc_profile_cb_set(btc_pid_t profile_id,void * cb)34 int btc_profile_cb_set(btc_pid_t profile_id, void *cb)
35 {
36     if (profile_id < 0 || profile_id >= BTC_PID_NUM) {
37         return -1;
38     }
39 
40     btc_profile_cb_tab[profile_id] = cb;
41 
42     return 0;
43 }
44 
btc_profile_cb_get(btc_pid_t profile_id)45 void *btc_profile_cb_get(btc_pid_t profile_id)
46 {
47     if (profile_id < 0 || profile_id >= BTC_PID_NUM) {
48         return NULL;
49     }
50 
51     return btc_profile_cb_tab[profile_id];
52 }
53