Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d80fe9a3 authored by Chris Manton's avatar Chris Manton Committed by Gerrit Code Review
Browse files

Merge "Add stack::btm_oob_data_text"

parents 05b88203 1296e9ef
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -479,6 +479,26 @@ enum {

typedef uint8_t tBTM_OOB_DATA;

#ifndef CASE_RETURN_TEXT
#define CASE_RETURN_TEXT(code) \
  case code:                   \
    return #code
#endif

inline std::string btm_oob_data_text(const tBTM_OOB_DATA& data) {
  switch (data) {
    CASE_RETURN_TEXT(BTM_OOB_NONE);
    CASE_RETURN_TEXT(BTM_OOB_PRESENT_192);
    CASE_RETURN_TEXT(BTM_OOB_PRESENT_256);
    CASE_RETURN_TEXT(BTM_OOB_PRESENT_192_AND_256);
    CASE_RETURN_TEXT(BTM_OOB_UNKNOWN);
    default:
      return std::string("UNKNOWN[") + std::to_string(data) + std::string("]");
  }
}

#undef CASE_RETURN_TEXT

/* data type for BTM_SP_IO_REQ_EVT */
typedef struct {
  RawAddress bd_addr;     /* peer address */
+20 −0
Original line number Diff line number Diff line
@@ -401,3 +401,23 @@ TEST_F(StackBtmWithInitFreeTest, btm_sec_allocate_dev_rec__all) {
  // list is freed.
  // Further, the memory for each record is reused when necessary.
}

TEST_F(StackBtmTest, btm_oob_data_text) {
  std::vector<std::pair<tBTM_OOB_DATA, std::string>> datas = {
      std::make_pair(BTM_OOB_NONE, "BTM_OOB_NONE"),
      std::make_pair(BTM_OOB_PRESENT_192, "BTM_OOB_PRESENT_192"),
      std::make_pair(BTM_OOB_PRESENT_256, "BTM_OOB_PRESENT_256"),
      std::make_pair(BTM_OOB_PRESENT_192_AND_256,
                     "BTM_OOB_PRESENT_192_AND_256"),
      std::make_pair(BTM_OOB_UNKNOWN, "BTM_OOB_UNKNOWN"),
  };
  for (const auto& data : datas) {
    ASSERT_STREQ(data.second.c_str(), btm_oob_data_text(data.first).c_str());
  }
  auto unknown = base::StringPrintf("UNKNOWN[%hhu]",
                                    std::numeric_limits<std::uint8_t>::max());
  ASSERT_STREQ(unknown.c_str(),
               btm_oob_data_text(static_cast<tBTM_OOB_DATA>(
                                     std::numeric_limits<std::uint8_t>::max()))
                   .c_str());
}