Migrate to decode_pldm_base_get_tid_resp()

Migrate the codes that use decode_get_tid_resp() to using the newly
added decode_pldm_base_get_tid_resp() API as a replacement.

Change-Id: I76d8488fb91a0dbcf77560de77ae117262900b68
Signed-off-by: Chau Ly <chaul@amperecomputing.com>
diff --git a/platform-mc/terminus_manager.cpp b/platform-mc/terminus_manager.cpp
index 4a160a8..19e64b5 100644
--- a/platform-mc/terminus_manager.cpp
+++ b/platform-mc/terminus_manager.cpp
@@ -503,8 +503,8 @@
         co_return rc;
     }
 
-    uint8_t completionCode = 0;
-    rc = decode_get_tid_resp(responseMsg, responseLen, &completionCode, tid);
+    pldm_base_get_tid_resp resp{};
+    rc = decode_pldm_base_get_tid_resp(responseMsg, responseLen, &resp);
     if (rc)
     {
         lg2::error(
@@ -513,14 +513,16 @@
         co_return rc;
     }
 
-    if (completionCode != PLDM_SUCCESS)
+    if (resp.completion_code != PLDM_SUCCESS)
     {
         lg2::error("Error : GetTID for Endpoint ID {EID}, complete code {CC}.",
-                   "EID", eid, "CC", completionCode);
+                   "EID", eid, "CC", resp.completion_code);
         co_return rc;
     }
 
-    co_return completionCode;
+    *tid = resp.tid;
+
+    co_return resp.completion_code;
 }
 
 exec::task<int> TerminusManager::setTidOverMctp(mctp_eid_t eid, pldm_tid_t tid)
diff --git a/pldmtool/pldm_base_cmd.cpp b/pldmtool/pldm_base_cmd.cpp
index 7f9cf6b..1073f4c 100644
--- a/pldmtool/pldm_base_cmd.cpp
+++ b/pldmtool/pldm_base_cmd.cpp
@@ -373,18 +373,18 @@
 
     void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength) override
     {
-        uint8_t cc = 0;
-        uint8_t tid = 0;
-        std::vector<bitfield8_t> types(8);
-        auto rc = decode_get_tid_resp(responsePtr, payloadLength, &cc, &tid);
-        if (rc != PLDM_SUCCESS || cc != PLDM_SUCCESS)
+        pldm_base_get_tid_resp resp{};
+        auto rc =
+            decode_pldm_base_get_tid_resp(responsePtr, payloadLength, &resp);
+        if (rc != PLDM_SUCCESS || resp.completion_code != PLDM_SUCCESS)
         {
             std::cerr << "Response Message Error: "
-                      << "rc=" << rc << ",cc=" << (int)cc << "\n";
+                      << "rc=" << rc << ",cc="
+                      << static_cast<int>(resp.completion_code) << "\n";
             return;
         }
         ordered_json data;
-        data["Response"] = static_cast<uint32_t>(tid);
+        data["Response"] = static_cast<uint32_t>(resp.tid);
         pldmtool::helper::DisplayInJson(data);
     }
 };
diff --git a/requester/test/handler_test.cpp b/requester/test/handler_test.cpp
index 37be41c..cbc9ccc 100644
--- a/requester/test/handler_test.cpp
+++ b/requester/test/handler_test.cpp
@@ -275,11 +275,12 @@
                 co_await handler.sendRecvMsg(eid, std::move(request));
             EXPECT_NE(responseLen, 0);
 
-            uint8_t cc = 0;
-            rc = decode_get_tid_resp(responseMsg, responseLen, &cc, &tid);
+            pldm_base_get_tid_resp resp{};
+            rc = decode_pldm_base_get_tid_resp(responseMsg, responseLen, &resp);
             EXPECT_EQ(rc, PLDM_SUCCESS);
 
-            co_return cc;
+            tid = resp.tid;
+            co_return resp.completion_code;
         }
     };