1 /*
2  * SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #include <string.h>
8 #include "osi/allocator.h"
9 #include "bta/bta_api.h"
10 #include "btc/btc_task.h"
11 #include "btc/btc_manage.h"
12 #include "btc/btc_dev.h"
13 
btc_dev_arg_deep_free(btc_msg_t * msg)14 void btc_dev_arg_deep_free(btc_msg_t *msg)
15 {
16     BTC_TRACE_DEBUG("%s \n", __func__);
17 
18     switch (msg->act) {
19     case BTC_DEV_ACT_SET_DEVICE_NAME:{
20         char *device_name = ((btc_dev_args_t *)msg->arg)->set_dev_name.device_name;
21         if (device_name) {
22             osi_free(device_name);
23         }
24         break;
25     }
26     default:
27         BTC_TRACE_DEBUG("Unhandled deep free %d\n", msg->act);
28         break;
29     }
30 }
31 
btc_dev_call_handler(btc_msg_t * msg)32 void btc_dev_call_handler(btc_msg_t *msg)
33 {
34     btc_dev_args_t *arg = (btc_dev_args_t *)msg->arg;
35 
36     BTC_TRACE_DEBUG("%s act %d\n", __FUNCTION__, msg->act);
37 
38     switch (msg->act) {
39     case BTC_DEV_ACT_SET_DEVICE_NAME:
40         BTA_DmSetDeviceName(arg->set_dev_name.device_name);
41         break;
42     default:
43         break;
44     }
45 
46     btc_dev_arg_deep_free(msg);
47 }
48