OSDN Git Service

Add stack/gatt::gatt_channel_state_text
authorChris Manton <cmanton@google.com>
Tue, 4 May 2021 01:16:55 +0000 (18:16 -0700)
committerChris Manton <cmanton@google.com>
Tue, 4 May 2021 20:24:51 +0000 (13:24 -0700)
Bug: 163134718
Test: gd/cert/run
Tag: #refactor

Change-Id: I852e94277db93c1773b30d4ad91e1ac166270611

stack/gatt/gatt_int.h

index 01e2811..532ddad 100644 (file)
@@ -235,6 +235,23 @@ typedef enum : uint8_t {
   GATT_CH_OPEN = 4,
 } tGATT_CH_STATE;
 
+#define CASE_RETURN_TEXT(code) \
+  case code:                   \
+    return #code
+
+inline std::string gatt_channel_state_text(const tGATT_CH_STATE& state) {
+  switch (state) {
+    CASE_RETURN_TEXT(GATT_CH_CLOSE);
+    CASE_RETURN_TEXT(GATT_CH_CLOSING);
+    CASE_RETURN_TEXT(GATT_CH_CONN);
+    CASE_RETURN_TEXT(GATT_CH_CFG);
+    CASE_RETURN_TEXT(GATT_CH_OPEN);
+    default:
+      return std::string("UNKNOWN[%hhu]", state);
+  }
+}
+#undef CASE_RETURN_TEXT
+
 #define GATT_GATT_START_HANDLE 1
 #define GATT_GAP_START_HANDLE 20
 #define GATT_APP_START_HANDLE 40