blob: 287a7631c33d6d98ab897404561a22152ac0e40e [file] [log] [blame]
Ian Coolidge611fcf92015-06-03 17:20:30 -07001//
2// Copyright (C) 2015 Google, Inc.
3//
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:
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
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.
15//
16#include "logging_helpers.h"
17
18#include <string.h>
19
20#include <string>
21
22#define CASE_RETURN_TEXT(code) \
23 case code: \
24 return #code
25
26const char *BtAvConnectionStateText(const btav_connection_state_t state) {
27 switch (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);
32 default:
33 return "Invalid AV connection state";
34 }
35}
36
37const char *BtAvAudioStateText(const btav_audio_state_t state) {
38 switch (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);
42 default:
43 return "Invalid audio state";
44 }
45}
46
47const char *BtTransportText(const btgatt_transport_t t) {
48 switch(t) {
49 CASE_RETURN_TEXT(GATT_TRANSPORT_AUTO);
50 CASE_RETURN_TEXT(GATT_TRANSPORT_BREDR);
51 CASE_RETURN_TEXT(GATT_TRANSPORT_LE);
52 default:
53 return "unknown transport";
54 }
55}
56
57const char *BtStateText(const bt_state_t state) {
58 switch (state) {
59 CASE_RETURN_TEXT(BT_STATE_OFF);
60 CASE_RETURN_TEXT(BT_STATE_ON);
61 default:
62 return "unknown state code";
63 }
64}
65
Ajay Panickerfc616e02015-12-07 14:12:13 -080066const char *BtDiscoveryStateText(const bt_discovery_state_t state) {
67 switch (state) {
68 CASE_RETURN_TEXT(BT_DISCOVERY_STOPPED);
69 CASE_RETURN_TEXT(BT_DISCOVERY_STARTED);
70 default:
71 return "unknown discovery state code";
72 }
73}
74
Ian Coolidge611fcf92015-06-03 17:20:30 -070075const char *BtScanModeText(const bt_scan_mode_t mode) {
76 switch (mode) {
77 CASE_RETURN_TEXT(BT_SCAN_MODE_NONE);
78 CASE_RETURN_TEXT(BT_SCAN_MODE_CONNECTABLE);
79 CASE_RETURN_TEXT(BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE);
80 default:
81 return "unknown scan mode";
82 }
83}
84
85const char *BtStatusText(const bt_status_t status) {
86 switch (status) {
87 CASE_RETURN_TEXT(BT_STATUS_SUCCESS);
88 CASE_RETURN_TEXT(BT_STATUS_FAIL);
89 CASE_RETURN_TEXT(BT_STATUS_NOT_READY);
90 CASE_RETURN_TEXT(BT_STATUS_NOMEM);
91 CASE_RETURN_TEXT(BT_STATUS_DONE);
92 CASE_RETURN_TEXT(BT_STATUS_BUSY);
93 CASE_RETURN_TEXT(BT_STATUS_UNSUPPORTED);
Arman Ugurayfcf2e032015-08-13 17:05:03 -070094 CASE_RETURN_TEXT(BT_STATUS_PARM_INVALID);
95 CASE_RETURN_TEXT(BT_STATUS_UNHANDLED);
96 CASE_RETURN_TEXT(BT_STATUS_AUTH_FAILURE);
97 CASE_RETURN_TEXT(BT_STATUS_RMT_DEV_DOWN);
98 CASE_RETURN_TEXT(BT_STATUS_AUTH_REJECTED);
Ian Coolidge611fcf92015-06-03 17:20:30 -070099 default:
100 return "unknown status code";
101 }
102}
103
104const char *BtPropertyText(const bt_property_type_t prop) {
105 switch (prop) {
106 CASE_RETURN_TEXT(BT_PROPERTY_BDNAME);
107 CASE_RETURN_TEXT(BT_PROPERTY_BDADDR);
108 CASE_RETURN_TEXT(BT_PROPERTY_UUIDS);
109 CASE_RETURN_TEXT(BT_PROPERTY_CLASS_OF_DEVICE);
110 CASE_RETURN_TEXT(BT_PROPERTY_TYPE_OF_DEVICE);
111 CASE_RETURN_TEXT(BT_PROPERTY_SERVICE_RECORD);
112 CASE_RETURN_TEXT(BT_PROPERTY_ADAPTER_SCAN_MODE);
113 CASE_RETURN_TEXT(BT_PROPERTY_ADAPTER_BONDED_DEVICES);
114 CASE_RETURN_TEXT(BT_PROPERTY_ADAPTER_DISCOVERY_TIMEOUT);
115 CASE_RETURN_TEXT(BT_PROPERTY_REMOTE_FRIENDLY_NAME);
116 CASE_RETURN_TEXT(BT_PROPERTY_REMOTE_RSSI);
117 CASE_RETURN_TEXT(BT_PROPERTY_REMOTE_VERSION_INFO);
118 CASE_RETURN_TEXT(BT_PROPERTY_LOCAL_LE_FEATURES);
119 CASE_RETURN_TEXT(BT_PROPERTY_REMOTE_DEVICE_TIMESTAMP);
120 default:
121 return "Invalid property";
122 }
123}
124
125const char *BtEventText(const bt_cb_thread_evt evt) {
126 switch (evt) {
127 CASE_RETURN_TEXT(ASSOCIATE_JVM);
128 CASE_RETURN_TEXT(DISASSOCIATE_JVM);
129 default:
130 return "unknown state code";
131 }
132}
133
134const char *BtAclText(const bt_acl_state_t code) {
135 switch (code) {
136 CASE_RETURN_TEXT(BT_ACL_STATE_CONNECTED);
137 CASE_RETURN_TEXT(BT_ACL_STATE_DISCONNECTED);
138 default:
139 return "unknown ACL code";
140 }
141}
142
143std::string BtAddrString(const bt_bdaddr_t *addr) {
144 char buffer[20];
145 snprintf(buffer, sizeof(buffer), "%02X:%02X:%02X:%02X:%02X:%02X",
146 addr->address[0], addr->address[1], addr->address[2],
147 addr->address[3], addr->address[4], addr->address[5]);
148 return std::string(buffer);
149}