1dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Use of this source code is governed by a BSD-style license that can be
3dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// found in the LICENSE file.
4dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
5dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#ifndef NET_UDP_DATAGRAM_CLIENT_SOCKET_H_
6dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#define NET_UDP_DATAGRAM_CLIENT_SOCKET_H_
7dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#pragma once
8dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
9dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "net/socket/socket.h"
10dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "net/udp/datagram_socket.h"
11dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
12dc0f95d653279beabeb9817299e2902918ba123eKristian Monsennamespace net {
13dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
14ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenclass IPEndPoint;
15dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
16dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenclass DatagramClientSocket : public DatagramSocket, public Socket {
17dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen public:
18dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  virtual ~DatagramClientSocket() {}
19dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
20dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  // Initialize this socket as a client socket to server at |address|.
21dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  // Returns a network error code.
22ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  virtual int Connect(const IPEndPoint& address) = 0;
23dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
24dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
25dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}  // namespace net
26dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
27dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#endif  // NET_UDP_DATAGRAM_CLIENT_SOCKET_H_
28