2 // Copyright (C) 2015 Google, Inc.
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at:
8 // http://www.apache.org/licenses/LICENSE-2.0
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
16 #include "logging_helpers.h"
22 #define CASE_RETURN_TEXT(code) \
26 const char *BtAvConnectionStateText(const btav_connection_state_t state) {
28 CASE_RETURN_TEXT(BTAV_CONNECTION_STATE_DISCONNECTED);
29 CASE_RETURN_TEXT(BTAV_CONNECTION_STATE_CONNECTING);
30 CASE_RETURN_TEXT(BTAV_CONNECTION_STATE_CONNECTED);
31 CASE_RETURN_TEXT(BTAV_CONNECTION_STATE_DISCONNECTING);
33 return "Invalid AV connection state";
37 const char *BtAvAudioStateText(const btav_audio_state_t state) {
39 CASE_RETURN_TEXT(BTAV_AUDIO_STATE_REMOTE_SUSPEND);
40 CASE_RETURN_TEXT(BTAV_AUDIO_STATE_STOPPED);
41 CASE_RETURN_TEXT(BTAV_AUDIO_STATE_STARTED);
43 return "Invalid audio state";
47 const char *BtTransportText(const btgatt_transport_t t) {
49 CASE_RETURN_TEXT(GATT_TRANSPORT_AUTO);
50 CASE_RETURN_TEXT(GATT_TRANSPORT_BREDR);
51 CASE_RETURN_TEXT(GATT_TRANSPORT_LE);
53 return "unknown transport";
57 const char *BtStateText(const bt_state_t state) {
59 CASE_RETURN_TEXT(BT_STATE_OFF);
60 CASE_RETURN_TEXT(BT_STATE_ON);
62 return "unknown state code";
66 const char *BtScanModeText(const bt_scan_mode_t mode) {
68 CASE_RETURN_TEXT(BT_SCAN_MODE_NONE);
69 CASE_RETURN_TEXT(BT_SCAN_MODE_CONNECTABLE);
70 CASE_RETURN_TEXT(BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE);
72 return "unknown scan mode";
76 const char *BtStatusText(const bt_status_t status) {
78 CASE_RETURN_TEXT(BT_STATUS_SUCCESS);
79 CASE_RETURN_TEXT(BT_STATUS_FAIL);
80 CASE_RETURN_TEXT(BT_STATUS_NOT_READY);
81 CASE_RETURN_TEXT(BT_STATUS_NOMEM);
82 CASE_RETURN_TEXT(BT_STATUS_DONE);
83 CASE_RETURN_TEXT(BT_STATUS_BUSY);
84 CASE_RETURN_TEXT(BT_STATUS_UNSUPPORTED);
85 CASE_RETURN_TEXT(BT_STATUS_PARM_INVALID);
86 CASE_RETURN_TEXT(BT_STATUS_UNHANDLED);
87 CASE_RETURN_TEXT(BT_STATUS_AUTH_FAILURE);
88 CASE_RETURN_TEXT(BT_STATUS_RMT_DEV_DOWN);
89 CASE_RETURN_TEXT(BT_STATUS_AUTH_REJECTED);
91 return "unknown status code";
95 const char *BtPropertyText(const bt_property_type_t prop) {
97 CASE_RETURN_TEXT(BT_PROPERTY_BDNAME);
98 CASE_RETURN_TEXT(BT_PROPERTY_BDADDR);
99 CASE_RETURN_TEXT(BT_PROPERTY_UUIDS);
100 CASE_RETURN_TEXT(BT_PROPERTY_CLASS_OF_DEVICE);
101 CASE_RETURN_TEXT(BT_PROPERTY_TYPE_OF_DEVICE);
102 CASE_RETURN_TEXT(BT_PROPERTY_SERVICE_RECORD);
103 CASE_RETURN_TEXT(BT_PROPERTY_ADAPTER_SCAN_MODE);
104 CASE_RETURN_TEXT(BT_PROPERTY_ADAPTER_BONDED_DEVICES);
105 CASE_RETURN_TEXT(BT_PROPERTY_ADAPTER_DISCOVERY_TIMEOUT);
106 CASE_RETURN_TEXT(BT_PROPERTY_REMOTE_FRIENDLY_NAME);
107 CASE_RETURN_TEXT(BT_PROPERTY_REMOTE_RSSI);
108 CASE_RETURN_TEXT(BT_PROPERTY_REMOTE_VERSION_INFO);
109 CASE_RETURN_TEXT(BT_PROPERTY_LOCAL_LE_FEATURES);
110 CASE_RETURN_TEXT(BT_PROPERTY_REMOTE_DEVICE_TIMESTAMP);
112 return "Invalid property";
116 const char *BtEventText(const bt_cb_thread_evt evt) {
118 CASE_RETURN_TEXT(ASSOCIATE_JVM);
119 CASE_RETURN_TEXT(DISASSOCIATE_JVM);
121 return "unknown state code";
125 const char *BtAclText(const bt_acl_state_t code) {
127 CASE_RETURN_TEXT(BT_ACL_STATE_CONNECTED);
128 CASE_RETURN_TEXT(BT_ACL_STATE_DISCONNECTED);
130 return "unknown ACL code";
134 std::string BtAddrString(const bt_bdaddr_t *addr) {
136 snprintf(buffer, sizeof(buffer), "%02X:%02X:%02X:%02X:%02X:%02X",
137 addr->address[0], addr->address[1], addr->address[2],
138 addr->address[3], addr->address[4], addr->address[5]);
139 return std::string(buffer);