From df26a382a9bfc30ae2f22c76a22a3a4948888d2a Mon Sep 17 00:00:00 2001 From: Chris Manton Date: Sun, 4 Oct 2020 22:44:39 -0700 Subject: [PATCH] enum-ify tL2CAP_LE_RESULT_ Towards readable code Bug: 163134718 Tag: #refactor Test: act.py -tc BleCocTest Test: ble paired 2 phones Test: classic paired Bose SoundLink Change-Id: I0a6c26c962277607c5447619d64ce95b47a33311 --- stack/include/l2cdefs.h | 22 +++++++++++----------- stack/l2cap/l2c_csm.cc | 7 ++++++- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/stack/include/l2cdefs.h b/stack/include/l2cdefs.h index ad3512d9a..48bd73ace 100644 --- a/stack/include/l2cdefs.h +++ b/stack/include/l2cdefs.h @@ -101,17 +101,17 @@ /* Define the LE L2CAP Connection Response Result codes */ -#define L2CAP_LE_RESULT_CONN_OK 0 -#define L2CAP_LE_RESULT_NO_PSM 2 -#define L2CAP_LE_RESULT_NO_RESOURCES 4 -#define L2CAP_LE_RESULT_INSUFFICIENT_AUTHENTICATION 5 -#define L2CAP_LE_RESULT_INSUFFICIENT_ENCRYP_KEY_SIZE 7 -#define L2CAP_LE_RESULT_INSUFFICIENT_ENCRYP 8 -/* We don't like peer device response */ -#define L2CAP_LE_RESULT_INVALID_SOURCE_CID 9 -#define L2CAP_LE_RESULT_SOURCE_CID_ALREADY_ALLOCATED 0x0A - -typedef uint8_t tL2CAP_LE_RESULT_CODE; +typedef enum : uint8_t { + L2CAP_LE_RESULT_CONN_OK = 0, + L2CAP_LE_RESULT_NO_PSM = 2, + L2CAP_LE_RESULT_NO_RESOURCES = 4, + L2CAP_LE_RESULT_INSUFFICIENT_AUTHENTICATION = 5, + L2CAP_LE_RESULT_INSUFFICIENT_ENCRYP_KEY_SIZE = 7, + L2CAP_LE_RESULT_INSUFFICIENT_ENCRYP = 8, + /* We don't like peer device response */ + L2CAP_LE_RESULT_INVALID_SOURCE_CID = 9, + L2CAP_LE_RESULT_SOURCE_CID_ALREADY_ALLOCATED = 0x0A, +} tL2CAP_LE_RESULT_CODE; /* Define the L2CAP command reject reason codes */ diff --git a/stack/l2cap/l2c_csm.cc b/stack/l2cap/l2c_csm.cc index d0e0a29e5..1882b3b56 100644 --- a/stack/l2cap/l2c_csm.cc +++ b/stack/l2cap/l2c_csm.cc @@ -281,7 +281,12 @@ static void l2c_csm_closed(tL2C_CCB* p_ccb, uint16_t event, void* p_data) { l2cu_reject_ble_connection(p_ccb, p_ccb->remote_id, result); l2cu_release_ccb(p_ccb); break; - // TODO: Handle the other return codes + case L2CAP_LE_RESULT_CONN_OK: + case L2CAP_LE_RESULT_NO_PSM: + case L2CAP_LE_RESULT_NO_RESOURCES: + case L2CAP_LE_RESULT_INVALID_SOURCE_CID: + case L2CAP_LE_RESULT_SOURCE_CID_ALREADY_ALLOCATED: + break; } } else { /* Cancel sniff mode if needed */ -- 2.11.0