mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 21:17:44 +00:00
Kernel: Merge FooSocketHandle classes into a single SocketHandle<Foo>
- IPv4SocketHandle => SocketHandle<IPv4Socket> - TCPSocketHandle => SocketHandle<TCPSocket> - UDPSocketHandle => SocketHandle<UDPSocket>
This commit is contained in:
parent
5c66c67f32
commit
04603237da
6 changed files with 19 additions and 94 deletions
|
@ -98,11 +98,12 @@ private:
|
|||
NonnullRefPtrVector<Socket> m_pending;
|
||||
};
|
||||
|
||||
template<typename SocketType>
|
||||
class SocketHandle {
|
||||
public:
|
||||
SocketHandle() {}
|
||||
|
||||
SocketHandle(RefPtr<Socket>&& socket)
|
||||
SocketHandle(NonnullRefPtr<SocketType>&& socket)
|
||||
: m_socket(move(socket))
|
||||
{
|
||||
if (m_socket)
|
||||
|
@ -125,12 +126,12 @@ public:
|
|||
|
||||
operator bool() const { return m_socket; }
|
||||
|
||||
Socket* operator->() { return &socket(); }
|
||||
const Socket* operator->() const { return &socket(); }
|
||||
SocketType* operator->() { return &socket(); }
|
||||
const SocketType* operator->() const { return &socket(); }
|
||||
|
||||
Socket& socket() { return *m_socket; }
|
||||
const Socket& socket() const { return *m_socket; }
|
||||
SocketType& socket() { return *m_socket; }
|
||||
const SocketType& socket() const { return *m_socket; }
|
||||
|
||||
private:
|
||||
RefPtr<Socket> m_socket;
|
||||
RefPtr<SocketType> m_socket;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue