Upgrade mock mock_stack_sdp_api

Bug: 163134718
Test: gd/cert/run
Tag: #refactor
No-Typo-Check: Legacy code mocks

Change-Id: Ie41a30efdf812e104287101c1b8a02ef050229f7
diff --git a/system/test/mock/mock_stack_sdp.cc b/system/test/mock/mock_stack_sdp.cc
deleted file mode 100644
index 22252e8..0000000
--- a/system/test/mock/mock_stack_sdp.cc
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * Generated mock file from original source file
- */
-
-#include <string.h>
-
-#include "bt_target.h"
-
-#include "sdp_api.h"
-
-#include "osi/include/osi.h"
-
-using bluetooth::Uuid;
-
-bool SDP_InitDiscoveryDb(tSDP_DISCOVERY_DB* p_db, uint32_t len,
-                         uint16_t num_uuid, const Uuid* p_uuid_list,
-                         uint16_t num_attr, uint16_t* p_attr_list) {
-  return false;
-}
-
-bool SDP_CancelServiceSearch(tSDP_DISCOVERY_DB* p_db) { return false; }
-
-bool SDP_ServiceSearchRequest(const RawAddress& p_bd_addr,
-                              tSDP_DISCOVERY_DB* p_db,
-                              tSDP_DISC_CMPL_CB* p_cb) {
-  return false;
-}
-
-bool SDP_ServiceSearchAttributeRequest(const RawAddress& p_bd_addr,
-                                       tSDP_DISCOVERY_DB* p_db,
-                                       tSDP_DISC_CMPL_CB* p_cb) {
-  return false;
-}
-bool SDP_ServiceSearchAttributeRequest2(const RawAddress& p_bd_addr,
-                                        tSDP_DISCOVERY_DB* p_db,
-                                        tSDP_DISC_CMPL_CB2* p_cb2,
-                                        void* user_data) {
-  return false;
-}
-
-tSDP_DISC_ATTR* SDP_FindAttributeInRec(tSDP_DISC_REC* p_rec, uint16_t attr_id) {
-  return (NULL);
-}
-
-bool SDP_FindServiceUUIDInRec(tSDP_DISC_REC* p_rec, Uuid* p_uuid) {
-  return false;
-}
-
-bool SDP_FindServiceUUIDInRec_128bit(tSDP_DISC_REC* p_rec, Uuid* p_uuid) {
-  return false;
-}
-
-tSDP_DISC_REC* SDP_FindServiceInDb(tSDP_DISCOVERY_DB* p_db,
-                                   uint16_t service_uuid,
-                                   tSDP_DISC_REC* p_start_rec) {
-  return (NULL);
-}
-
-tSDP_DISC_REC* SDP_FindServiceInDb_128bit(tSDP_DISCOVERY_DB* p_db,
-                                          tSDP_DISC_REC* p_start_rec) {
-  return (NULL);
-}
-
-tSDP_DISC_REC* SDP_FindServiceUUIDInDb(tSDP_DISCOVERY_DB* p_db,
-                                       const Uuid& uuid,
-                                       tSDP_DISC_REC* p_start_rec) {
-  return (NULL);
-}
-
-bool SDP_FindProtocolListElemInRec(tSDP_DISC_REC* p_rec, uint16_t layer_uuid,
-                                   tSDP_PROTOCOL_ELEM* p_elem) {
-  return (false);
-}
-
-bool SDP_FindProfileVersionInRec(tSDP_DISC_REC* p_rec, uint16_t profile_uuid,
-                                 uint16_t* p_version) {
-  return (false);
-}
-
-tSDP_STATUS SDP_DiDiscover(const RawAddress& remote_device,
-                           tSDP_DISCOVERY_DB* p_db, uint32_t len,
-                           tSDP_DISC_CMPL_CB* p_cb) {
-  return SDP_SUCCESS;
-}
-
-uint8_t SDP_GetNumDiRecords(tSDP_DISCOVERY_DB* p_db) { return 0; }
-
-uint16_t SDP_GetDiRecord(uint8_t get_record_index,
-                         tSDP_DI_GET_RECORD* p_device_info,
-                         tSDP_DISCOVERY_DB* p_db) {
-  return 0;
-}
-uint16_t SDP_SetLocalDiRecord(tSDP_DI_RECORD* p_device_info,
-                              uint32_t* p_handle) {
-  return 0;
-}
-uint8_t SDP_SetTraceLevel(uint8_t new_level) { return 0; }
diff --git a/system/test/mock/mock_stack_sdp_api.cc b/system/test/mock/mock_stack_sdp_api.cc
new file mode 100644
index 0000000..2d6e7ce
--- /dev/null
+++ b/system/test/mock/mock_stack_sdp_api.cc
@@ -0,0 +1,178 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * Generated mock file from original source file
+ *   Functions generated:18
+ *
+ *  mockcify.pl ver 0.2.1
+ */
+
+#include <cstdint>
+#include <functional>
+#include <map>
+#include <string>
+
+extern std::map<std::string, int> mock_function_count_map;
+
+// Mock include file to share data between tests and mock
+#include "test/mock/mock_stack_sdp_api.h"
+
+// Mocked compile conditionals, if any
+#ifndef UNUSED_ATTR
+#define UNUSED_ATTR
+#endif
+
+// Mocked internal structures, if any
+
+namespace test {
+namespace mock {
+namespace stack_sdp_api {
+
+// Function state capture and return values, if needed
+struct SDP_CancelServiceSearch SDP_CancelServiceSearch;
+struct SDP_FindProfileVersionInRec SDP_FindProfileVersionInRec;
+struct SDP_FindProtocolListElemInRec SDP_FindProtocolListElemInRec;
+struct SDP_FindServiceUUIDInRec SDP_FindServiceUUIDInRec;
+struct SDP_FindServiceUUIDInRec_128bit SDP_FindServiceUUIDInRec_128bit;
+struct SDP_InitDiscoveryDb SDP_InitDiscoveryDb;
+struct SDP_ServiceSearchAttributeRequest SDP_ServiceSearchAttributeRequest;
+struct SDP_ServiceSearchAttributeRequest2 SDP_ServiceSearchAttributeRequest2;
+struct SDP_ServiceSearchRequest SDP_ServiceSearchRequest;
+struct SDP_FindAttributeInRec SDP_FindAttributeInRec;
+struct SDP_FindServiceInDb SDP_FindServiceInDb;
+struct SDP_FindServiceInDb_128bit SDP_FindServiceInDb_128bit;
+struct SDP_FindServiceUUIDInDb SDP_FindServiceUUIDInDb;
+struct SDP_DiDiscover SDP_DiDiscover;
+struct SDP_GetDiRecord SDP_GetDiRecord;
+struct SDP_SetLocalDiRecord SDP_SetLocalDiRecord;
+struct SDP_GetNumDiRecords SDP_GetNumDiRecords;
+struct SDP_SetTraceLevel SDP_SetTraceLevel;
+
+}  // namespace stack_sdp_api
+}  // namespace mock
+}  // namespace test
+
+// Mocked functions, if any
+bool SDP_CancelServiceSearch(tSDP_DISCOVERY_DB* p_db) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_CancelServiceSearch(p_db);
+}
+bool SDP_FindProfileVersionInRec(tSDP_DISC_REC* p_rec, uint16_t profile_uuid,
+                                 uint16_t* p_version) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_FindProfileVersionInRec(
+      p_rec, profile_uuid, p_version);
+}
+bool SDP_FindProtocolListElemInRec(tSDP_DISC_REC* p_rec, uint16_t layer_uuid,
+                                   tSDP_PROTOCOL_ELEM* p_elem) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_FindProtocolListElemInRec(
+      p_rec, layer_uuid, p_elem);
+}
+bool SDP_FindServiceUUIDInRec(tSDP_DISC_REC* p_rec, bluetooth::Uuid* p_uuid) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_FindServiceUUIDInRec(p_rec, p_uuid);
+}
+bool SDP_FindServiceUUIDInRec_128bit(tSDP_DISC_REC* p_rec,
+                                     bluetooth::Uuid* p_uuid) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_FindServiceUUIDInRec_128bit(p_rec,
+                                                                    p_uuid);
+}
+bool SDP_InitDiscoveryDb(tSDP_DISCOVERY_DB* p_db, uint32_t len,
+                         uint16_t num_uuid, const bluetooth::Uuid* p_uuid_list,
+                         uint16_t num_attr, uint16_t* p_attr_list) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_InitDiscoveryDb(
+      p_db, len, num_uuid, p_uuid_list, num_attr, p_attr_list);
+}
+bool SDP_ServiceSearchAttributeRequest(const RawAddress& p_bd_addr,
+                                       tSDP_DISCOVERY_DB* p_db,
+                                       tSDP_DISC_CMPL_CB* p_cb) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_ServiceSearchAttributeRequest(
+      p_bd_addr, p_db, p_cb);
+}
+bool SDP_ServiceSearchAttributeRequest2(const RawAddress& p_bd_addr,
+                                        tSDP_DISCOVERY_DB* p_db,
+                                        tSDP_DISC_CMPL_CB2* p_cb2,
+                                        void* user_data) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_ServiceSearchAttributeRequest2(
+      p_bd_addr, p_db, p_cb2, user_data);
+}
+bool SDP_ServiceSearchRequest(const RawAddress& p_bd_addr,
+                              tSDP_DISCOVERY_DB* p_db,
+                              tSDP_DISC_CMPL_CB* p_cb) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_ServiceSearchRequest(p_bd_addr, p_db,
+                                                             p_cb);
+}
+tSDP_DISC_ATTR* SDP_FindAttributeInRec(tSDP_DISC_REC* p_rec, uint16_t attr_id) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_FindAttributeInRec(p_rec, attr_id);
+}
+tSDP_DISC_REC* SDP_FindServiceInDb(tSDP_DISCOVERY_DB* p_db,
+                                   uint16_t service_uuid,
+                                   tSDP_DISC_REC* p_start_rec) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_FindServiceInDb(p_db, service_uuid,
+                                                        p_start_rec);
+}
+tSDP_DISC_REC* SDP_FindServiceInDb_128bit(tSDP_DISCOVERY_DB* p_db,
+                                          tSDP_DISC_REC* p_start_rec) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_FindServiceInDb_128bit(p_db,
+                                                               p_start_rec);
+}
+tSDP_DISC_REC* SDP_FindServiceUUIDInDb(tSDP_DISCOVERY_DB* p_db,
+                                       const bluetooth::Uuid& uuid,
+                                       tSDP_DISC_REC* p_start_rec) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_FindServiceUUIDInDb(p_db, uuid,
+                                                            p_start_rec);
+}
+tSDP_STATUS SDP_DiDiscover(const RawAddress& remote_device,
+                           tSDP_DISCOVERY_DB* p_db, uint32_t len,
+                           tSDP_DISC_CMPL_CB* p_cb) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_DiDiscover(remote_device, p_db, len,
+                                                   p_cb);
+}
+uint16_t SDP_GetDiRecord(uint8_t get_record_index,
+                         tSDP_DI_GET_RECORD* p_device_info,
+                         tSDP_DISCOVERY_DB* p_db) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_GetDiRecord(get_record_index,
+                                                    p_device_info, p_db);
+}
+uint16_t SDP_SetLocalDiRecord(tSDP_DI_RECORD* p_device_info,
+                              uint32_t* p_handle) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_SetLocalDiRecord(p_device_info,
+                                                         p_handle);
+}
+uint8_t SDP_GetNumDiRecords(tSDP_DISCOVERY_DB* p_db) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_GetNumDiRecords(p_db);
+}
+uint8_t SDP_SetTraceLevel(uint8_t new_level) {
+  mock_function_count_map[__func__]++;
+  return test::mock::stack_sdp_api::SDP_SetTraceLevel(new_level);
+}
+
+// END mockcify generation
diff --git a/system/test/mock/mock_stack_sdp_api.h b/system/test/mock/mock_stack_sdp_api.h
new file mode 100644
index 0000000..5162477
--- /dev/null
+++ b/system/test/mock/mock_stack_sdp_api.h
@@ -0,0 +1,297 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * Generated mock file from original source file
+ *   Functions generated:18
+ *
+ *  mockcify.pl ver 0.2.1
+ */
+
+#include <cstdint>
+#include <functional>
+#include <map>
+#include <string>
+
+extern std::map<std::string, int> mock_function_count_map;
+
+// Original included files, if any
+// NOTE: Since this is a mock file with mock definitions some number of
+//       include files may not be required.  The include-what-you-use
+//       still applies, but crafting proper inclusion is out of scope
+//       for this effort.  This compilation unit may compile as-is, or
+//       may need attention to prune the inclusion set.
+#include <string.h>
+
+#include "bt_target.h"
+#include "osi/include/osi.h"
+#include "stack/include/sdp_api.h"
+#include "stack/sdp/sdpint.h"
+
+// Mocked compile conditionals, if any
+#ifndef UNUSED_ATTR
+#define UNUSED_ATTR
+#endif
+
+namespace test {
+namespace mock {
+namespace stack_sdp_api {
+
+// Shared state between mocked functions and tests
+// Name: SDP_CancelServiceSearch
+// Params: tSDP_DISCOVERY_DB* p_db
+// Returns: bool
+struct SDP_CancelServiceSearch {
+  std::function<bool(tSDP_DISCOVERY_DB* p_db)> body{
+      [](tSDP_DISCOVERY_DB* p_db) { return false; }};
+  bool operator()(tSDP_DISCOVERY_DB* p_db) { return body(p_db); };
+};
+extern struct SDP_CancelServiceSearch SDP_CancelServiceSearch;
+// Name: SDP_FindProfileVersionInRec
+// Params: tSDP_DISC_REC* p_rec, uint16_t profile_uuid, uint16_t* p_version
+// Returns: bool
+struct SDP_FindProfileVersionInRec {
+  std::function<bool(tSDP_DISC_REC* p_rec, uint16_t profile_uuid,
+                     uint16_t* p_version)>
+      body{[](tSDP_DISC_REC* p_rec, uint16_t profile_uuid,
+              uint16_t* p_version) { return false; }};
+  bool operator()(tSDP_DISC_REC* p_rec, uint16_t profile_uuid,
+                  uint16_t* p_version) {
+    return body(p_rec, profile_uuid, p_version);
+  };
+};
+extern struct SDP_FindProfileVersionInRec SDP_FindProfileVersionInRec;
+// Name: SDP_FindProtocolListElemInRec
+// Params: tSDP_DISC_REC* p_rec, uint16_t layer_uuid, tSDP_PROTOCOL_ELEM* p_elem
+// Returns: bool
+struct SDP_FindProtocolListElemInRec {
+  std::function<bool(tSDP_DISC_REC* p_rec, uint16_t layer_uuid,
+                     tSDP_PROTOCOL_ELEM* p_elem)>
+      body{[](tSDP_DISC_REC* p_rec, uint16_t layer_uuid,
+              tSDP_PROTOCOL_ELEM* p_elem) { return false; }};
+  bool operator()(tSDP_DISC_REC* p_rec, uint16_t layer_uuid,
+                  tSDP_PROTOCOL_ELEM* p_elem) {
+    return body(p_rec, layer_uuid, p_elem);
+  };
+};
+extern struct SDP_FindProtocolListElemInRec SDP_FindProtocolListElemInRec;
+// Name: SDP_FindServiceUUIDInRec
+// Params: tSDP_DISC_REC* p_rec, bluetooth::Uuid* p_uuid
+// Returns: bool
+struct SDP_FindServiceUUIDInRec {
+  std::function<bool(tSDP_DISC_REC* p_rec, bluetooth::Uuid* p_uuid)> body{
+      [](tSDP_DISC_REC* p_rec, bluetooth::Uuid* p_uuid) { return false; }};
+  bool operator()(tSDP_DISC_REC* p_rec, bluetooth::Uuid* p_uuid) {
+    return body(p_rec, p_uuid);
+  };
+};
+extern struct SDP_FindServiceUUIDInRec SDP_FindServiceUUIDInRec;
+// Name: SDP_FindServiceUUIDInRec_128bit
+// Params: tSDP_DISC_REC* p_rec, bluetooth::Uuid* p_uuid
+// Returns: bool
+struct SDP_FindServiceUUIDInRec_128bit {
+  std::function<bool(tSDP_DISC_REC* p_rec, bluetooth::Uuid* p_uuid)> body{
+      [](tSDP_DISC_REC* p_rec, bluetooth::Uuid* p_uuid) { return false; }};
+  bool operator()(tSDP_DISC_REC* p_rec, bluetooth::Uuid* p_uuid) {
+    return body(p_rec, p_uuid);
+  };
+};
+extern struct SDP_FindServiceUUIDInRec_128bit SDP_FindServiceUUIDInRec_128bit;
+// Name: SDP_InitDiscoveryDb
+// Params: tSDP_DISCOVERY_DB* p_db, uint32_t len, uint16_t num_uuid, const
+// bluetooth::Uuid* p_uuid_list, uint16_t num_attr, uint16_t* p_attr_list
+// Returns: bool
+struct SDP_InitDiscoveryDb {
+  std::function<bool(tSDP_DISCOVERY_DB* p_db, uint32_t len, uint16_t num_uuid,
+                     const bluetooth::Uuid* p_uuid_list, uint16_t num_attr,
+                     uint16_t* p_attr_list)>
+      body{[](tSDP_DISCOVERY_DB* p_db, uint32_t len, uint16_t num_uuid,
+              const bluetooth::Uuid* p_uuid_list, uint16_t num_attr,
+              uint16_t* p_attr_list) { return false; }};
+  bool operator()(tSDP_DISCOVERY_DB* p_db, uint32_t len, uint16_t num_uuid,
+                  const bluetooth::Uuid* p_uuid_list, uint16_t num_attr,
+                  uint16_t* p_attr_list) {
+    return body(p_db, len, num_uuid, p_uuid_list, num_attr, p_attr_list);
+  };
+};
+extern struct SDP_InitDiscoveryDb SDP_InitDiscoveryDb;
+// Name: SDP_ServiceSearchAttributeRequest
+// Params: const RawAddress& p_bd_addr, tSDP_DISCOVERY_DB* p_db,
+// tSDP_DISC_CMPL_CB* p_cb Returns: bool
+struct SDP_ServiceSearchAttributeRequest {
+  std::function<bool(const RawAddress& p_bd_addr, tSDP_DISCOVERY_DB* p_db,
+                     tSDP_DISC_CMPL_CB* p_cb)>
+      body{[](const RawAddress& p_bd_addr, tSDP_DISCOVERY_DB* p_db,
+              tSDP_DISC_CMPL_CB* p_cb) { return false; }};
+  bool operator()(const RawAddress& p_bd_addr, tSDP_DISCOVERY_DB* p_db,
+                  tSDP_DISC_CMPL_CB* p_cb) {
+    return body(p_bd_addr, p_db, p_cb);
+  };
+};
+extern struct SDP_ServiceSearchAttributeRequest
+    SDP_ServiceSearchAttributeRequest;
+// Name: SDP_ServiceSearchAttributeRequest2
+// Params: const RawAddress& p_bd_addr, tSDP_DISCOVERY_DB* p_db,
+// tSDP_DISC_CMPL_CB2* p_cb2, void* user_data Returns: bool
+struct SDP_ServiceSearchAttributeRequest2 {
+  std::function<bool(const RawAddress& p_bd_addr, tSDP_DISCOVERY_DB* p_db,
+                     tSDP_DISC_CMPL_CB2* p_cb2, void* user_data)>
+      body{[](const RawAddress& p_bd_addr, tSDP_DISCOVERY_DB* p_db,
+              tSDP_DISC_CMPL_CB2* p_cb2, void* user_data) { return false; }};
+  bool operator()(const RawAddress& p_bd_addr, tSDP_DISCOVERY_DB* p_db,
+                  tSDP_DISC_CMPL_CB2* p_cb2, void* user_data) {
+    return body(p_bd_addr, p_db, p_cb2, user_data);
+  };
+};
+extern struct SDP_ServiceSearchAttributeRequest2
+    SDP_ServiceSearchAttributeRequest2;
+// Name: SDP_ServiceSearchRequest
+// Params: const RawAddress& p_bd_addr, tSDP_DISCOVERY_DB* p_db,
+// tSDP_DISC_CMPL_CB* p_cb Returns: bool
+struct SDP_ServiceSearchRequest {
+  std::function<bool(const RawAddress& p_bd_addr, tSDP_DISCOVERY_DB* p_db,
+                     tSDP_DISC_CMPL_CB* p_cb)>
+      body{[](const RawAddress& p_bd_addr, tSDP_DISCOVERY_DB* p_db,
+              tSDP_DISC_CMPL_CB* p_cb) { return false; }};
+  bool operator()(const RawAddress& p_bd_addr, tSDP_DISCOVERY_DB* p_db,
+                  tSDP_DISC_CMPL_CB* p_cb) {
+    return body(p_bd_addr, p_db, p_cb);
+  };
+};
+extern struct SDP_ServiceSearchRequest SDP_ServiceSearchRequest;
+// Name: SDP_FindAttributeInRec
+// Params: tSDP_DISC_REC* p_rec, uint16_t attr_id
+// Returns: tSDP_DISC_ATTR*
+struct SDP_FindAttributeInRec {
+  std::function<tSDP_DISC_ATTR*(tSDP_DISC_REC* p_rec, uint16_t attr_id)> body{
+      [](tSDP_DISC_REC* p_rec, uint16_t attr_id) { return nullptr; }};
+  tSDP_DISC_ATTR* operator()(tSDP_DISC_REC* p_rec, uint16_t attr_id) {
+    return body(p_rec, attr_id);
+  };
+};
+extern struct SDP_FindAttributeInRec SDP_FindAttributeInRec;
+// Name: SDP_FindServiceInDb
+// Params: tSDP_DISCOVERY_DB* p_db, uint16_t service_uuid, tSDP_DISC_REC*
+// p_start_rec Returns: tSDP_DISC_REC*
+struct SDP_FindServiceInDb {
+  std::function<tSDP_DISC_REC*(tSDP_DISCOVERY_DB* p_db, uint16_t service_uuid,
+                               tSDP_DISC_REC* p_start_rec)>
+      body{[](tSDP_DISCOVERY_DB* p_db, uint16_t service_uuid,
+              tSDP_DISC_REC* p_start_rec) { return nullptr; }};
+  tSDP_DISC_REC* operator()(tSDP_DISCOVERY_DB* p_db, uint16_t service_uuid,
+                            tSDP_DISC_REC* p_start_rec) {
+    return body(p_db, service_uuid, p_start_rec);
+  };
+};
+extern struct SDP_FindServiceInDb SDP_FindServiceInDb;
+// Name: SDP_FindServiceInDb_128bit
+// Params: tSDP_DISCOVERY_DB* p_db, tSDP_DISC_REC* p_start_rec
+// Returns: tSDP_DISC_REC*
+struct SDP_FindServiceInDb_128bit {
+  std::function<tSDP_DISC_REC*(tSDP_DISCOVERY_DB* p_db,
+                               tSDP_DISC_REC* p_start_rec)>
+      body{[](tSDP_DISCOVERY_DB* p_db, tSDP_DISC_REC* p_start_rec) {
+        return nullptr;
+      }};
+  tSDP_DISC_REC* operator()(tSDP_DISCOVERY_DB* p_db,
+                            tSDP_DISC_REC* p_start_rec) {
+    return body(p_db, p_start_rec);
+  };
+};
+extern struct SDP_FindServiceInDb_128bit SDP_FindServiceInDb_128bit;
+// Name: SDP_FindServiceUUIDInDb
+// Params: tSDP_DISCOVERY_DB* p_db, const bluetooth::Uuid& uuid, tSDP_DISC_REC*
+// p_start_rec Returns: tSDP_DISC_REC*
+struct SDP_FindServiceUUIDInDb {
+  std::function<tSDP_DISC_REC*(tSDP_DISCOVERY_DB* p_db,
+                               const bluetooth::Uuid& uuid,
+                               tSDP_DISC_REC* p_start_rec)>
+      body{[](tSDP_DISCOVERY_DB* p_db, const bluetooth::Uuid& uuid,
+              tSDP_DISC_REC* p_start_rec) { return nullptr; }};
+  tSDP_DISC_REC* operator()(tSDP_DISCOVERY_DB* p_db,
+                            const bluetooth::Uuid& uuid,
+                            tSDP_DISC_REC* p_start_rec) {
+    return body(p_db, uuid, p_start_rec);
+  };
+};
+extern struct SDP_FindServiceUUIDInDb SDP_FindServiceUUIDInDb;
+// Name: SDP_DiDiscover
+// Params: const RawAddress& remote_device, tSDP_DISCOVERY_DB* p_db, uint32_t
+// len, tSDP_DISC_CMPL_CB* p_cb Returns: tSDP_STATUS
+struct SDP_DiDiscover {
+  std::function<tSDP_STATUS(const RawAddress& remote_device,
+                            tSDP_DISCOVERY_DB* p_db, uint32_t len,
+                            tSDP_DISC_CMPL_CB* p_cb)>
+      body{[](const RawAddress& remote_device, tSDP_DISCOVERY_DB* p_db,
+              uint32_t len, tSDP_DISC_CMPL_CB* p_cb) { return SDP_SUCCESS; }};
+  tSDP_STATUS operator()(const RawAddress& remote_device,
+                         tSDP_DISCOVERY_DB* p_db, uint32_t len,
+                         tSDP_DISC_CMPL_CB* p_cb) {
+    return body(remote_device, p_db, len, p_cb);
+  };
+};
+extern struct SDP_DiDiscover SDP_DiDiscover;
+// Name: SDP_GetDiRecord
+// Params: uint8_t get_record_index, tSDP_DI_GET_RECORD* p_device_info,
+// tSDP_DISCOVERY_DB* p_db Returns: uint16_t
+struct SDP_GetDiRecord {
+  std::function<uint16_t(uint8_t get_record_index,
+                         tSDP_DI_GET_RECORD* p_device_info,
+                         tSDP_DISCOVERY_DB* p_db)>
+      body{[](uint8_t get_record_index, tSDP_DI_GET_RECORD* p_device_info,
+              tSDP_DISCOVERY_DB* p_db) { return 0; }};
+  uint16_t operator()(uint8_t get_record_index,
+                      tSDP_DI_GET_RECORD* p_device_info,
+                      tSDP_DISCOVERY_DB* p_db) {
+    return body(get_record_index, p_device_info, p_db);
+  };
+};
+extern struct SDP_GetDiRecord SDP_GetDiRecord;
+// Name: SDP_SetLocalDiRecord
+// Params: tSDP_DI_RECORD* p_device_info, uint32_t* p_handle
+// Returns: uint16_t
+struct SDP_SetLocalDiRecord {
+  std::function<uint16_t(tSDP_DI_RECORD* p_device_info, uint32_t* p_handle)>
+      body{[](tSDP_DI_RECORD* p_device_info, uint32_t* p_handle) { return 0; }};
+  uint16_t operator()(tSDP_DI_RECORD* p_device_info, uint32_t* p_handle) {
+    return body(p_device_info, p_handle);
+  };
+};
+extern struct SDP_SetLocalDiRecord SDP_SetLocalDiRecord;
+// Name: SDP_GetNumDiRecords
+// Params: tSDP_DISCOVERY_DB* p_db
+// Returns: uint8_t
+struct SDP_GetNumDiRecords {
+  std::function<uint8_t(tSDP_DISCOVERY_DB* p_db)> body{
+      [](tSDP_DISCOVERY_DB* p_db) { return 0; }};
+  uint8_t operator()(tSDP_DISCOVERY_DB* p_db) { return body(p_db); };
+};
+extern struct SDP_GetNumDiRecords SDP_GetNumDiRecords;
+// Name: SDP_SetTraceLevel
+// Params: uint8_t new_level
+// Returns: uint8_t
+struct SDP_SetTraceLevel {
+  std::function<uint8_t(uint8_t new_level)> body{
+      [](uint8_t new_level) { return 0; }};
+  uint8_t operator()(uint8_t new_level) { return body(new_level); };
+};
+extern struct SDP_SetTraceLevel SDP_SetTraceLevel;
+
+}  // namespace stack_sdp_api
+}  // namespace mock
+}  // namespace test
+
+// END mockcify generation