Upstream version 9.37.197.0
[platform/framework/web/crosswalk.git] / src / remoting / jingle_glue / chromium_socket_factory.h
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef REMOTING_JINGLE_GLUE_CHROMIUM_SOCKET_FACTORY_H_
6 #define REMOTING_JINGLE_GLUE_CHROMIUM_SOCKET_FACTORY_H_
7
8 #include "base/compiler_specific.h"
9 #include "third_party/libjingle/source/talk/p2p/base/packetsocketfactory.h"
10
11 namespace remoting {
12
13 class ChromiumPacketSocketFactory : public talk_base::PacketSocketFactory {
14  public:
15   explicit ChromiumPacketSocketFactory();
16   virtual ~ChromiumPacketSocketFactory();
17
18   virtual talk_base::AsyncPacketSocket* CreateUdpSocket(
19       const talk_base::SocketAddress& local_address,
20       int min_port, int max_port) OVERRIDE;
21   virtual talk_base::AsyncPacketSocket* CreateServerTcpSocket(
22       const talk_base::SocketAddress& local_address,
23       int min_port, int max_port,
24       int opts) OVERRIDE;
25   virtual talk_base::AsyncPacketSocket* CreateClientTcpSocket(
26       const talk_base::SocketAddress& local_address,
27       const talk_base::SocketAddress& remote_address,
28       const talk_base::ProxyInfo& proxy_info,
29       const std::string& user_agent,
30       int opts) OVERRIDE;
31   virtual talk_base::AsyncResolverInterface* CreateAsyncResolver() OVERRIDE;
32
33  private:
34   DISALLOW_COPY_AND_ASSIGN(ChromiumPacketSocketFactory);
35 };
36
37 }  // namespace remoting
38
39 #endif  // REMOTING_JINGLE_GLUE_CHROMIUM_SOCKET_FACTORY_H_