libpldmresponder: Migrate to encode_pldm_base_get_pldm_types_resp()

encode_get_types_resp() has been deprecated in libpldm. Switch to its
replacement.

Change-Id: I76b16639701a50157811ebf8437b47738beb758e
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
diff --git a/libpldmresponder/base.cpp b/libpldmresponder/base.cpp
index c498b07..e2458aa 100644
--- a/libpldmresponder/base.cpp
+++ b/libpldmresponder/base.cpp
@@ -67,22 +67,24 @@
                                size_t /*payloadLength*/)
 {
     // DSP0240 has this as a bitfield8[N], where N = 0 to 7
-    std::array<bitfield8_t, 8> types{};
+    pldm_base_get_pldm_types_resp resp{PLDM_SUCCESS, {{0}}};
     for (const auto& type : capabilities)
     {
         auto index = type.first / 8;
         // <Type Number> = <Array Index> * 8 + <bit position>
         auto bit = type.first - (index * 8);
-        types[index].byte |= 1 << bit;
+        resp.pldm_types[index].byte |= 1 << bit;
     }
 
-    Response response(sizeof(pldm_msg_hdr) + PLDM_GET_TYPES_RESP_BYTES, 0);
+    Response response(
+        sizeof(pldm_msg_hdr) + PLDM_BASE_GET_PLDM_TYPES_RESP_BYTES, 0);
     auto responsePtr = new (response.data()) pldm_msg;
-    auto rc = encode_get_types_resp(request->hdr.instance_id, PLDM_SUCCESS,
-                                    types.data(), responsePtr);
-    if (rc != PLDM_SUCCESS)
+    size_t payloadLength = PLDM_BASE_GET_PLDM_TYPES_RESP_BYTES;
+    auto rc = encode_pldm_base_get_pldm_types_resp(
+        request->hdr.instance_id, &resp, responsePtr, &payloadLength);
+    if (rc || payloadLength != PLDM_BASE_GET_PLDM_TYPES_RESP_BYTES)
     {
-        return CmdHandler::ccOnlyResponse(request, rc);
+        return CmdHandler::ccOnlyResponse(request, PLDM_ERROR);
     }
 
     return response;