#ifndef CONTENT_BROWSER_NETWORK_SOCKET_BROKER_IMPL_H_
#define CONTENT_BROWSER_NETWORK_SOCKET_BROKER_IMPL_H_
#include "content/common/content_export.h"
#include "mojo/public/cpp/bindings/receiver_set.h"
#include "net/base/address_family.h"
#include "services/network/public/mojom/socket_broker.mojom.h"
namespace content {
class CONTENT_EXPORT SocketBrokerImpl : public network::mojom::SocketBroker {
public:
explicit SocketBrokerImpl();
~SocketBrokerImpl() override;
SocketBrokerImpl(const SocketBrokerImpl&) = delete;
SocketBrokerImpl& operator=(const SocketBrokerImpl&) = delete;
void CreateTcpSocket(net::AddressFamily address_family,
CreateTcpSocketCallback callback) override;
void CreateUdpSocket(net::AddressFamily address_family,
CreateUdpSocketCallback callback) override;
mojo::PendingRemote<network::mojom::SocketBroker> BindNewRemote();
private:
mojo::ReceiverSet<network::mojom::SocketBroker> receivers_;
};
}
#endif