Loading system/bta/dm/bta_dm_int.h +30 −4 Original line number Original line Diff line number Diff line Loading @@ -61,7 +61,7 @@ #define BTA_SERVICE_ID_TO_SERVICE_MASK(id) (1 << (id)) #define BTA_SERVICE_ID_TO_SERVICE_MASK(id) (1 << (id)) /* DM search events */ /* DM search events */ enum { typedef enum : uint16_t { /* DM search API events */ /* DM search API events */ BTA_DM_API_SEARCH_EVT = BTA_SYS_EVT_START(BTA_ID_DM_SEARCH), BTA_DM_API_SEARCH_EVT = BTA_SYS_EVT_START(BTA_ID_DM_SEARCH), BTA_DM_API_DISCOVER_EVT, BTA_DM_API_DISCOVER_EVT, Loading @@ -71,7 +71,22 @@ enum { BTA_DM_SEARCH_CMPL_EVT, BTA_DM_SEARCH_CMPL_EVT, BTA_DM_DISCOVERY_RESULT_EVT, BTA_DM_DISCOVERY_RESULT_EVT, BTA_DM_DISC_CLOSE_TOUT_EVT, BTA_DM_DISC_CLOSE_TOUT_EVT, }; } tBTA_DM_EVT; inline std::string bta_dm_event_text(const tBTA_DM_EVT& event) { switch (event) { CASE_RETURN_TEXT(BTA_DM_API_SEARCH_EVT); CASE_RETURN_TEXT(BTA_DM_API_DISCOVER_EVT); CASE_RETURN_TEXT(BTA_DM_INQUIRY_CMPL_EVT); CASE_RETURN_TEXT(BTA_DM_REMT_NAME_EVT); CASE_RETURN_TEXT(BTA_DM_SDP_RESULT_EVT); CASE_RETURN_TEXT(BTA_DM_SEARCH_CMPL_EVT); CASE_RETURN_TEXT(BTA_DM_DISCOVERY_RESULT_EVT); CASE_RETURN_TEXT(BTA_DM_DISC_CLOSE_TOUT_EVT); default: return base::StringPrintf("UNKNOWN[0x%04x]", event); } } /* data type for BTA_DM_API_SEARCH_EVT */ /* data type for BTA_DM_API_SEARCH_EVT */ typedef struct { typedef struct { Loading Loading @@ -381,14 +396,25 @@ typedef struct { } tBTA_DM_DI_CB; } tBTA_DM_DI_CB; /* DM search state */ /* DM search state */ enum { typedef enum { BTA_DM_SEARCH_IDLE, BTA_DM_SEARCH_IDLE, BTA_DM_SEARCH_ACTIVE, BTA_DM_SEARCH_ACTIVE, BTA_DM_SEARCH_CANCELLING, BTA_DM_SEARCH_CANCELLING, BTA_DM_DISCOVER_ACTIVE BTA_DM_DISCOVER_ACTIVE }; } tBTA_DM_STATE; inline std::string bta_dm_state_text(const tBTA_DM_STATE& state) { switch (state) { CASE_RETURN_TEXT(BTA_DM_SEARCH_IDLE); CASE_RETURN_TEXT(BTA_DM_SEARCH_ACTIVE); CASE_RETURN_TEXT(BTA_DM_SEARCH_CANCELLING); CASE_RETURN_TEXT(BTA_DM_DISCOVER_ACTIVE); default: return base::StringPrintf("UNKNOWN[%d]", state); } } typedef struct { typedef struct { uint16_t page_timeout; /* timeout for page in slots */ uint16_t page_timeout; /* timeout for page in slots */ Loading system/bta/test/bta_dm_test.cc +41 −0 Original line number Original line Diff line number Diff line Loading @@ -323,3 +323,44 @@ TEST_F(BtaDmTest, bta_dm_encrypt_cback) { BTA_DM_ENCRYPT_CBACK_queue.pop(); BTA_DM_ENCRYPT_CBACK_queue.pop(); ASSERT_EQ(BTA_FAILURE, params_BTM_ILLEGAL_VALUE.result); ASSERT_EQ(BTA_FAILURE, params_BTM_ILLEGAL_VALUE.result); } } TEST_F(BtaDmTest, bta_dm_event_text) { std::vector<std::pair<tBTA_DM_EVT, std::string>> events = { std::make_pair(BTA_DM_API_SEARCH_EVT, "BTA_DM_API_SEARCH_EVT"), std::make_pair(BTA_DM_API_DISCOVER_EVT, "BTA_DM_API_DISCOVER_EVT"), std::make_pair(BTA_DM_INQUIRY_CMPL_EVT, "BTA_DM_INQUIRY_CMPL_EVT"), std::make_pair(BTA_DM_REMT_NAME_EVT, "BTA_DM_REMT_NAME_EVT"), std::make_pair(BTA_DM_SDP_RESULT_EVT, "BTA_DM_SDP_RESULT_EVT"), std::make_pair(BTA_DM_SEARCH_CMPL_EVT, "BTA_DM_SEARCH_CMPL_EVT"), std::make_pair(BTA_DM_DISCOVERY_RESULT_EVT, "BTA_DM_DISCOVERY_RESULT_EVT"), std::make_pair(BTA_DM_DISC_CLOSE_TOUT_EVT, "BTA_DM_DISC_CLOSE_TOUT_EVT"), }; for (const auto& event : events) { ASSERT_STREQ(event.second.c_str(), bta_dm_event_text(event.first).c_str()); } ASSERT_STREQ(base::StringPrintf("UNKNOWN[0x%04x]", std::numeric_limits<uint16_t>::max()) .c_str(), bta_dm_event_text(static_cast<tBTA_DM_EVT>( std::numeric_limits<uint16_t>::max())) .c_str()); } TEST_F(BtaDmTest, bta_dm_state_text) { std::vector<std::pair<tBTA_DM_STATE, std::string>> states = { std::make_pair(BTA_DM_SEARCH_IDLE, "BTA_DM_SEARCH_IDLE"), std::make_pair(BTA_DM_SEARCH_ACTIVE, "BTA_DM_SEARCH_ACTIVE"), std::make_pair(BTA_DM_SEARCH_CANCELLING, "BTA_DM_SEARCH_CANCELLING"), std::make_pair(BTA_DM_DISCOVER_ACTIVE, "BTA_DM_DISCOVER_ACTIVE"), }; for (const auto& state : states) { ASSERT_STREQ(state.second.c_str(), bta_dm_state_text(state.first).c_str()); } auto unknown = base::StringPrintf("UNKNOWN[%d]", std::numeric_limits<int>::max()); ASSERT_STREQ(unknown.c_str(), bta_dm_state_text( static_cast<tBTA_DM_STATE>(std::numeric_limits<int>::max())) .c_str()); } Loading
system/bta/dm/bta_dm_int.h +30 −4 Original line number Original line Diff line number Diff line Loading @@ -61,7 +61,7 @@ #define BTA_SERVICE_ID_TO_SERVICE_MASK(id) (1 << (id)) #define BTA_SERVICE_ID_TO_SERVICE_MASK(id) (1 << (id)) /* DM search events */ /* DM search events */ enum { typedef enum : uint16_t { /* DM search API events */ /* DM search API events */ BTA_DM_API_SEARCH_EVT = BTA_SYS_EVT_START(BTA_ID_DM_SEARCH), BTA_DM_API_SEARCH_EVT = BTA_SYS_EVT_START(BTA_ID_DM_SEARCH), BTA_DM_API_DISCOVER_EVT, BTA_DM_API_DISCOVER_EVT, Loading @@ -71,7 +71,22 @@ enum { BTA_DM_SEARCH_CMPL_EVT, BTA_DM_SEARCH_CMPL_EVT, BTA_DM_DISCOVERY_RESULT_EVT, BTA_DM_DISCOVERY_RESULT_EVT, BTA_DM_DISC_CLOSE_TOUT_EVT, BTA_DM_DISC_CLOSE_TOUT_EVT, }; } tBTA_DM_EVT; inline std::string bta_dm_event_text(const tBTA_DM_EVT& event) { switch (event) { CASE_RETURN_TEXT(BTA_DM_API_SEARCH_EVT); CASE_RETURN_TEXT(BTA_DM_API_DISCOVER_EVT); CASE_RETURN_TEXT(BTA_DM_INQUIRY_CMPL_EVT); CASE_RETURN_TEXT(BTA_DM_REMT_NAME_EVT); CASE_RETURN_TEXT(BTA_DM_SDP_RESULT_EVT); CASE_RETURN_TEXT(BTA_DM_SEARCH_CMPL_EVT); CASE_RETURN_TEXT(BTA_DM_DISCOVERY_RESULT_EVT); CASE_RETURN_TEXT(BTA_DM_DISC_CLOSE_TOUT_EVT); default: return base::StringPrintf("UNKNOWN[0x%04x]", event); } } /* data type for BTA_DM_API_SEARCH_EVT */ /* data type for BTA_DM_API_SEARCH_EVT */ typedef struct { typedef struct { Loading Loading @@ -381,14 +396,25 @@ typedef struct { } tBTA_DM_DI_CB; } tBTA_DM_DI_CB; /* DM search state */ /* DM search state */ enum { typedef enum { BTA_DM_SEARCH_IDLE, BTA_DM_SEARCH_IDLE, BTA_DM_SEARCH_ACTIVE, BTA_DM_SEARCH_ACTIVE, BTA_DM_SEARCH_CANCELLING, BTA_DM_SEARCH_CANCELLING, BTA_DM_DISCOVER_ACTIVE BTA_DM_DISCOVER_ACTIVE }; } tBTA_DM_STATE; inline std::string bta_dm_state_text(const tBTA_DM_STATE& state) { switch (state) { CASE_RETURN_TEXT(BTA_DM_SEARCH_IDLE); CASE_RETURN_TEXT(BTA_DM_SEARCH_ACTIVE); CASE_RETURN_TEXT(BTA_DM_SEARCH_CANCELLING); CASE_RETURN_TEXT(BTA_DM_DISCOVER_ACTIVE); default: return base::StringPrintf("UNKNOWN[%d]", state); } } typedef struct { typedef struct { uint16_t page_timeout; /* timeout for page in slots */ uint16_t page_timeout; /* timeout for page in slots */ Loading
system/bta/test/bta_dm_test.cc +41 −0 Original line number Original line Diff line number Diff line Loading @@ -323,3 +323,44 @@ TEST_F(BtaDmTest, bta_dm_encrypt_cback) { BTA_DM_ENCRYPT_CBACK_queue.pop(); BTA_DM_ENCRYPT_CBACK_queue.pop(); ASSERT_EQ(BTA_FAILURE, params_BTM_ILLEGAL_VALUE.result); ASSERT_EQ(BTA_FAILURE, params_BTM_ILLEGAL_VALUE.result); } } TEST_F(BtaDmTest, bta_dm_event_text) { std::vector<std::pair<tBTA_DM_EVT, std::string>> events = { std::make_pair(BTA_DM_API_SEARCH_EVT, "BTA_DM_API_SEARCH_EVT"), std::make_pair(BTA_DM_API_DISCOVER_EVT, "BTA_DM_API_DISCOVER_EVT"), std::make_pair(BTA_DM_INQUIRY_CMPL_EVT, "BTA_DM_INQUIRY_CMPL_EVT"), std::make_pair(BTA_DM_REMT_NAME_EVT, "BTA_DM_REMT_NAME_EVT"), std::make_pair(BTA_DM_SDP_RESULT_EVT, "BTA_DM_SDP_RESULT_EVT"), std::make_pair(BTA_DM_SEARCH_CMPL_EVT, "BTA_DM_SEARCH_CMPL_EVT"), std::make_pair(BTA_DM_DISCOVERY_RESULT_EVT, "BTA_DM_DISCOVERY_RESULT_EVT"), std::make_pair(BTA_DM_DISC_CLOSE_TOUT_EVT, "BTA_DM_DISC_CLOSE_TOUT_EVT"), }; for (const auto& event : events) { ASSERT_STREQ(event.second.c_str(), bta_dm_event_text(event.first).c_str()); } ASSERT_STREQ(base::StringPrintf("UNKNOWN[0x%04x]", std::numeric_limits<uint16_t>::max()) .c_str(), bta_dm_event_text(static_cast<tBTA_DM_EVT>( std::numeric_limits<uint16_t>::max())) .c_str()); } TEST_F(BtaDmTest, bta_dm_state_text) { std::vector<std::pair<tBTA_DM_STATE, std::string>> states = { std::make_pair(BTA_DM_SEARCH_IDLE, "BTA_DM_SEARCH_IDLE"), std::make_pair(BTA_DM_SEARCH_ACTIVE, "BTA_DM_SEARCH_ACTIVE"), std::make_pair(BTA_DM_SEARCH_CANCELLING, "BTA_DM_SEARCH_CANCELLING"), std::make_pair(BTA_DM_DISCOVER_ACTIVE, "BTA_DM_DISCOVER_ACTIVE"), }; for (const auto& state : states) { ASSERT_STREQ(state.second.c_str(), bta_dm_state_text(state.first).c_str()); } auto unknown = base::StringPrintf("UNKNOWN[%d]", std::numeric_limits<int>::max()); ASSERT_STREQ(unknown.c_str(), bta_dm_state_text( static_cast<tBTA_DM_STATE>(std::numeric_limits<int>::max())) .c_str()); }