Skip to content
Snippets Groups Projects
Commit 5aa37124 authored by Chris Manton's avatar Chris Manton
Browse files

Enum-ify stack/include/hiddefs::tHID_STATUS

Also add tHID_STATUS::_text and CASE_RETURN_TEXT cleanup

Bug: 163134718
Test: cert
Tag: #refactor

Change-Id: I3f9189f01907ef9e6e7253a5d1b4a2a55534d05c
parent c68c86c4
No related branches found
No related tags found
No related merge requests found
......@@ -30,6 +30,7 @@
#include "bt_target.h" // Must be first to define build configuration
#include "osi/include/log.h"
#include "stack/include/bt_types.h"
#include "stack/include/btm_api_types.h"
#include "stack/include/btm_ble_api_types.h"
......@@ -127,6 +128,29 @@ typedef enum : uint8_t {
BTA_PERIPHERAL_ROLE_ONLY = 0x03,
} tBTA_PREF_ROLES;
inline tBTA_PREF_ROLES toBTA_PREF_ROLES(uint8_t role) {
ASSERT_LOG(role <= BTA_PERIPHERAL_ROLE_ONLY,
"Passing illegal preferred role:0x%02x [0x%02x<=>0x%02x]", role,
BTA_ANY_ROLE, BTA_PERIPHERAL_ROLE_ONLY);
return static_cast<tBTA_PREF_ROLES>(role);
}
#define CASE_RETURN_TEXT(code) \
case code: \
return #code
inline std::string preferred_role_text(const tBTA_PREF_ROLES& role) {
switch (role) {
CASE_RETURN_TEXT(BTA_ANY_ROLE);
CASE_RETURN_TEXT(BTA_CENTRAL_ROLE_PREF);
CASE_RETURN_TEXT(BTA_CENTRAL_ROLE_ONLY);
CASE_RETURN_TEXT(BTA_PERIPHERAL_ROLE_ONLY);
default:
return std::string("UNKNOWN:%hhu", role);
}
}
#undef CASE_RETURN_TEXT
enum {
BTA_DM_NO_SCATTERNET, /* Device doesn't support scatternet, it might
......
......@@ -37,42 +37,42 @@ extern std::map<std::string, int> mock_function_count_map;
tHID_STATUS HID_HostAddDev(const RawAddress& addr, uint16_t attr_mask,
uint8_t* handle) {
mock_function_count_map[__func__]++;
return 0;
return HID_SUCCESS;
}
tHID_STATUS HID_HostCloseDev(uint8_t dev_handle) {
mock_function_count_map[__func__]++;
return 0;
return HID_SUCCESS;
}
tHID_STATUS HID_HostDeregister(void) {
mock_function_count_map[__func__]++;
return 0;
return HID_SUCCESS;
}
tHID_STATUS HID_HostGetSDPRecord(const RawAddress& addr,
tSDP_DISCOVERY_DB* p_db, uint32_t db_len,
tHID_HOST_SDP_CALLBACK* sdp_cback) {
mock_function_count_map[__func__]++;
return 0;
return HID_SUCCESS;
}
tHID_STATUS HID_HostOpenDev(uint8_t dev_handle) {
mock_function_count_map[__func__]++;
return 0;
return HID_SUCCESS;
}
tHID_STATUS HID_HostRegister(tHID_HOST_DEV_CALLBACK* dev_cback) {
mock_function_count_map[__func__]++;
return 0;
return HID_SUCCESS;
}
tHID_STATUS HID_HostRemoveDev(uint8_t dev_handle) {
mock_function_count_map[__func__]++;
return 0;
return HID_SUCCESS;
}
tHID_STATUS HID_HostWriteDev(uint8_t dev_handle, uint8_t t_type, uint8_t param,
uint16_t data, uint8_t report_id, BT_HDR* pbuf) {
mock_function_count_map[__func__]++;
return 0;
return HID_SUCCESS;
}
uint8_t HID_HostSetTraceLevel(uint8_t new_level) {
mock_function_count_map[__func__]++;
return 0;
return HID_SUCCESS;
}
void HID_HostInit(void) { mock_function_count_map[__func__]++; }
void hidh_get_str_attr(tSDP_DISC_REC* p_rec, uint16_t attr_id, uint16_t max_len,
......
......@@ -31,6 +31,7 @@
#include "bt_target.h"
#include "bt_types.h"
#include "osi/include/log.h"
/*****************************************************************************
* Constants
......@@ -52,6 +53,30 @@ typedef enum : uint16_t {
AVDT_WRITE_FAIL = 5, /* Write failed */
} tAVDT_RESULT;
inline tAVDT_RESULT ToAvdtResult(uint16_t result) {
ASSERT_LOG(result <= AVDT_WRITE_FAIL, "Unable to convert illegal result:%hu",
result);
return static_cast<tAVDT_RESULT>(result);
}
#define CASE_RETURN_TEXT(code) \
case code: \
return #code
inline std::string avdt_result_text(const tAVDT_RESULT& result) {
switch (result) {
CASE_RETURN_TEXT(AVDT_SUCCESS);
CASE_RETURN_TEXT(AVDT_BAD_PARAMS);
CASE_RETURN_TEXT(AVDT_NO_RESOURCES);
CASE_RETURN_TEXT(AVDT_BAD_HANDLE);
CASE_RETURN_TEXT(AVDT_BUSY);
CASE_RETURN_TEXT(AVDT_WRITE_FAIL);
default:
return base::StringPrintf("UNKNOWN[%hu]", result);
}
}
#undef CASE_RETURN_TEXT
/* The index to access the codec type in codec_info[]. */
#define AVDT_CODEC_TYPE_INDEX 2
......
......@@ -25,12 +25,14 @@
#ifndef HIDDEFS_H
#define HIDDEFS_H
#include <string>
#include "sdp_api.h"
/*
* tHID_STATUS: HID result codes, returned by HID and device and host functions.
*/
enum {
HID_SUCCESS,
typedef enum : uint8_t {
HID_SUCCESS = 0,
HID_ERR_NOT_REGISTERED,
HID_ERR_ALREADY_REGISTERED,
HID_ERR_NO_RESOURCES,
......@@ -51,9 +53,38 @@ enum {
HID_ERR_GATT,
HID_ERR_INVALID = 0xFF
};
typedef uint8_t tHID_STATUS;
} tHID_STATUS;
#define CASE_RETURN_TEXT(code) \
case code: \
return #code
inline std::string hid_status_text(const tHID_STATUS& status) {
switch (status) {
CASE_RETURN_TEXT(HID_SUCCESS);
CASE_RETURN_TEXT(HID_ERR_NOT_REGISTERED);
CASE_RETURN_TEXT(HID_ERR_ALREADY_REGISTERED);
CASE_RETURN_TEXT(HID_ERR_NO_RESOURCES);
CASE_RETURN_TEXT(HID_ERR_NO_CONNECTION);
CASE_RETURN_TEXT(HID_ERR_INVALID_PARAM);
CASE_RETURN_TEXT(HID_ERR_UNSUPPORTED);
CASE_RETURN_TEXT(HID_ERR_UNKNOWN_COMMAND);
CASE_RETURN_TEXT(HID_ERR_CONGESTED);
CASE_RETURN_TEXT(HID_ERR_CONN_IN_PROCESS);
CASE_RETURN_TEXT(HID_ERR_ALREADY_CONN);
CASE_RETURN_TEXT(HID_ERR_DISCONNECTING);
CASE_RETURN_TEXT(HID_ERR_SET_CONNABLE_FAIL);
CASE_RETURN_TEXT(HID_ERR_HOST_UNKNOWN);
CASE_RETURN_TEXT(HID_ERR_L2CAP_FAILED);
CASE_RETURN_TEXT(HID_ERR_AUTH_FAILED);
CASE_RETURN_TEXT(HID_ERR_SDP_BUSY);
CASE_RETURN_TEXT(HID_ERR_GATT);
CASE_RETURN_TEXT(HID_ERR_INVALID);
default:
return std::string("UNKNOWN[%hhu]", status);
}
}
#undef CASE_RETURN_TEXT
#define HID_L2CAP_CONN_FAIL \
(0x0100) /* Connection Attempt was made but failed */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment