| Index: net/dns/mdns_client_impl.h
|
| diff --git a/net/dns/mdns_client_impl.h b/net/dns/mdns_client_impl.h
|
| index b69677bb74739416c9d0f4673f78b260e299dce6..91a06b0e9fbf08def4c0ab2c8b67f1372a60f2cf 100644
|
| --- a/net/dns/mdns_client_impl.h
|
| +++ b/net/dns/mdns_client_impl.h
|
| @@ -27,11 +27,23 @@ namespace net {
|
| // DnsResponse objects and alerts the delegate that a packet has been received.
|
| class NET_EXPORT_PRIVATE MDnsConnection {
|
| public:
|
| + class Socket {
|
| + public:
|
| + virtual ~Socket() {};
|
| +
|
| + virtual int RecvFrom(IOBuffer* buf,
|
| + int buf_len,
|
| + IPEndPoint* address,
|
| + const CompletionCallback& callback) = 0;
|
| + virtual int SendTo(IOBuffer* buf,
|
| + int buf_len,
|
| + const CompletionCallback& callback) = 0;
|
| + };
|
| +
|
| class SocketFactory {
|
| public:
|
| virtual ~SocketFactory() {}
|
| -
|
| - virtual scoped_ptr<DatagramServerSocket> CreateSocket() = 0;
|
| + virtual void CreateSockets(ScopedVector<Socket>* sockets) = 0;
|
|
|
| static scoped_ptr<SocketFactory> CreateDefault();
|
| };
|
| @@ -45,7 +57,6 @@ class NET_EXPORT_PRIVATE MDnsConnection {
|
| };
|
|
|
| explicit MDnsConnection(MDnsConnection::Delegate* delegate);
|
| -
|
| virtual ~MDnsConnection();
|
|
|
| // Both methods return true if at least one of the socket handlers succeeded.
|
| @@ -55,13 +66,10 @@ class NET_EXPORT_PRIVATE MDnsConnection {
|
| private:
|
| class SocketHandler {
|
| public:
|
| - SocketHandler(MDnsConnection* connection,
|
| - const IPEndPoint& multicast_addr,
|
| - SocketFactory* socket_factory);
|
| + SocketHandler(scoped_ptr<Socket> socket, MDnsConnection* connection);
|
| ~SocketHandler();
|
| - int Bind();
|
| - int Start();
|
|
|
| + int Start();
|
| int Send(IOBuffer* buffer, unsigned size);
|
|
|
| private:
|
| @@ -71,12 +79,12 @@ class NET_EXPORT_PRIVATE MDnsConnection {
|
| // Callback for when sending a query has finished.
|
| void SendDone(int rv);
|
|
|
| - scoped_ptr<DatagramServerSocket> socket_;
|
| -
|
| + scoped_ptr<Socket> socket_;
|
| MDnsConnection* connection_;
|
| IPEndPoint recv_addr_;
|
| - scoped_ptr<DnsResponse> response_;
|
| - IPEndPoint multicast_addr_;
|
| + DnsResponse response_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(SocketHandler);
|
| };
|
|
|
| // Callback for handling a datagram being received on either ipv4 or ipv6.
|
|
|