[bt][data] SocketFactory: remove a template argument
Having removed ChannelIdT from SocketChannelRelay, we can
remove ChannelIdT from SocketFactory as well. Make it so.
Bug: NET-1932
Test: bt-host-unittests (on eve)
Change-Id: Idb2502e0d8269332a3fb4b5c557192b8551dbe6a
diff --git a/drivers/bluetooth/lib/data/l2cap_socket_factory.cc b/drivers/bluetooth/lib/data/l2cap_socket_factory.cc
index a1d860e..c5c27ff 100644
--- a/drivers/bluetooth/lib/data/l2cap_socket_factory.cc
+++ b/drivers/bluetooth/lib/data/l2cap_socket_factory.cc
@@ -7,6 +7,5 @@
#include "socket_factory.cc"
namespace btlib::data::internal {
-template class SocketFactory<l2cap::Channel, l2cap::Channel::UniqueId,
- l2cap::SDU>;
+template class SocketFactory<l2cap::Channel, l2cap::SDU>;
} // namespace btlib::data::internal
diff --git a/drivers/bluetooth/lib/data/l2cap_socket_factory.h b/drivers/bluetooth/lib/data/l2cap_socket_factory.h
index c110eed..9e53572 100644
--- a/drivers/bluetooth/lib/data/l2cap_socket_factory.h
+++ b/drivers/bluetooth/lib/data/l2cap_socket_factory.h
@@ -11,8 +11,7 @@
#include "garnet/drivers/bluetooth/lib/l2cap/sdu.h"
namespace btlib::data::internal {
-using L2capSocketFactory =
- SocketFactory<l2cap::Channel, l2cap::Channel::UniqueId, l2cap::SDU>;
+using L2capSocketFactory = SocketFactory<l2cap::Channel, l2cap::SDU>;
} // namespace btlib::data::internal
#endif // GARNET_DRIVERS_BLUETOOTH_LIB_DATA_L2CAP_SOCKET_FACTORY_H_
diff --git a/drivers/bluetooth/lib/data/rfcomm_socket_factory.cc b/drivers/bluetooth/lib/data/rfcomm_socket_factory.cc
index eafb050..a0078f8 100644
--- a/drivers/bluetooth/lib/data/rfcomm_socket_factory.cc
+++ b/drivers/bluetooth/lib/data/rfcomm_socket_factory.cc
@@ -7,6 +7,5 @@
#include "socket_factory.cc"
namespace btlib::data::internal {
-template class SocketFactory<rfcomm::Channel, rfcomm::Channel::UniqueId,
- common::ByteBufferPtr>;
+template class SocketFactory<rfcomm::Channel, common::ByteBufferPtr>;
} // namespace btlib::data::internal
diff --git a/drivers/bluetooth/lib/data/rfcomm_socket_factory.h b/drivers/bluetooth/lib/data/rfcomm_socket_factory.h
index 7f7921b..3dbc4b7 100644
--- a/drivers/bluetooth/lib/data/rfcomm_socket_factory.h
+++ b/drivers/bluetooth/lib/data/rfcomm_socket_factory.h
@@ -12,8 +12,7 @@
namespace btlib::data::internal {
using RfcommSocketFactory =
- SocketFactory<rfcomm::Channel, rfcomm::Channel::UniqueId,
- common::ByteBufferPtr>;
+ SocketFactory<rfcomm::Channel, common::ByteBufferPtr>;
} // namespace btlib::data::internal
#endif // GARNET_DRIVERS_BLUETOOTH_LIB_DATA_RFCOMM_SOCKET_FACTORY_H_
diff --git a/drivers/bluetooth/lib/data/socket_factory.cc b/drivers/bluetooth/lib/data/socket_factory.cc
index 542a2d6..daca727 100644
--- a/drivers/bluetooth/lib/data/socket_factory.cc
+++ b/drivers/bluetooth/lib/data/socket_factory.cc
@@ -12,18 +12,17 @@
namespace btlib::data::internal {
-template <typename ChannelT, typename ChannelIdT, typename ChannelRxDataT>
-SocketFactory<ChannelT, ChannelIdT, ChannelRxDataT>::SocketFactory()
+template <typename ChannelT, typename ChannelRxDataT>
+SocketFactory<ChannelT, ChannelRxDataT>::SocketFactory()
: weak_ptr_factory_(this) {}
-template <typename ChannelT, typename ChannelIdT, typename ChannelRxDataT>
-SocketFactory<ChannelT, ChannelIdT, ChannelRxDataT>::~SocketFactory() {
+template <typename ChannelT, typename ChannelRxDataT>
+SocketFactory<ChannelT, ChannelRxDataT>::~SocketFactory() {
ZX_DEBUG_ASSERT(thread_checker_.IsCreationThreadCurrent());
}
-template <typename ChannelT, typename ChannelIdT, typename ChannelRxDataT>
-zx::socket
-SocketFactory<ChannelT, ChannelIdT, ChannelRxDataT>::MakeSocketForChannel(
+template <typename ChannelT, typename ChannelRxDataT>
+zx::socket SocketFactory<ChannelT, ChannelRxDataT>::MakeSocketForChannel(
fbl::RefPtr<ChannelT> channel) {
ZX_DEBUG_ASSERT(thread_checker_.IsCreationThreadCurrent());
ZX_DEBUG_ASSERT(channel);
diff --git a/drivers/bluetooth/lib/data/socket_factory.h b/drivers/bluetooth/lib/data/socket_factory.h
index 705a645..b10e5e4 100644
--- a/drivers/bluetooth/lib/data/socket_factory.h
+++ b/drivers/bluetooth/lib/data/socket_factory.h
@@ -32,7 +32,7 @@
// created and destroyed on a single thread. Said thread must have a
// single-threaded dispatcher. Failure to follow those rules may cause the
// program to abort.
-template <typename ChannelT, typename ChannelIdT, typename ChannelRxDataT>
+template <typename ChannelT, typename ChannelRxDataT>
class SocketFactory final {
public:
SocketFactory();
@@ -56,6 +56,7 @@
private:
using RelayT = SocketChannelRelay<ChannelT, ChannelRxDataT>;
+ using ChannelIdT = typename ChannelT::UniqueId;
const fxl::ThreadChecker thread_checker_;
diff --git a/drivers/bluetooth/lib/data/socket_factory_unittest.cc b/drivers/bluetooth/lib/data/socket_factory_unittest.cc
index 9dbbd0a..68b13e3 100644
--- a/drivers/bluetooth/lib/data/socket_factory_unittest.cc
+++ b/drivers/bluetooth/lib/data/socket_factory_unittest.cc
@@ -22,8 +22,7 @@
// We'll test the template using (only) the set of type parameters necessary
// for the L2CAP instantiation.
-using FactoryT = internal::SocketFactory<l2cap::Channel,
- l2cap::Channel::UniqueId, l2cap::SDU>;
+using FactoryT = internal::SocketFactory<l2cap::Channel, l2cap::SDU>;
static_assert(std::is_same<FactoryT, L2capSocketFactory>::value);
constexpr l2cap::ChannelId kDynamicChannelIdMin = 0x0040;