Index: remoting/host/cast_port_allocator_factory.cc |
diff --git a/remoting/host/cast_port_allocator_factory.cc b/remoting/host/cast_port_allocator_factory.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..281a984295a271697206489095da0c2c9d9c7bb9 |
--- /dev/null |
+++ b/remoting/host/cast_port_allocator_factory.cc |
@@ -0,0 +1,52 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "remoting/host/cast_port_allocator_factory.h" |
+ |
+#include "base/logging.h" |
+#include "remoting/jingle_glue/network_settings.h" |
+ |
+namespace remoting { |
+ |
+CastPortAllocatorFactory::CastPortAllocatorFactory( |
+ const NetworkSettings& network_settings, |
+ scoped_refptr<net::URLRequestContextGetter> url_request_context_getter) |
+ : network_settings_(network_settings), |
+ url_request_context_getter_(url_request_context_getter) { |
+} |
+ |
+CastPortAllocatorFactory::~CastPortAllocatorFactory() { |
+} |
Sergey Ulanov
2014/07/17 18:54:40
} can be moved on the previous line.
aiguha
2014/07/17 19:39:59
Done.
|
+ |
+talk_base::scoped_refptr<webrtc::PortAllocatorFactoryInterface> |
+CastPortAllocatorFactory::Create( |
+ const NetworkSettings& network_settings, |
+ scoped_refptr<net::URLRequestContextGetter> url_request_context_getter) { |
+ talk_base::RefCountedObject<CastPortAllocatorFactory>* allocator_factory = |
+ new talk_base::RefCountedObject<CastPortAllocatorFactory>( |
+ network_settings, url_request_context_getter); |
+ return allocator_factory; |
+} |
+ |
+cricket::PortAllocator* CastPortAllocatorFactory::CreatePortAllocator( |
+ const std::vector<StunConfiguration>& stun_servers, |
+ const std::vector<TurnConfiguration>& turn_configurations) { |
+ scoped_ptr<ChromiumPortAllocator> port_allocator( |
+ ChromiumPortAllocator::Create(url_request_context_getter_, |
+ network_settings_)); |
+ |
+ std::vector<talk_base::SocketAddress> stun_hosts; |
+ typedef std::vector<StunConfiguration>::const_iterator StunIt; |
+ for (StunIt stun_it = stun_servers.begin(); stun_it != stun_servers.end(); |
+ ++stun_it) { |
+ stun_hosts.push_back(stun_it->server); |
+ } |
+ port_allocator->SetStunHosts(stun_hosts); |
+ // TODO(aiguha): Figure out how to translate |turn_configurations| into |
+ // turn hosts so we can set |port_allocator|'s relay hosts. |
+ |
aiguha
2014/07/17 03:11:36
Until we properly set relay hosts, we won't be abl
|
+ return port_allocator.release(); |
+} |
+ |
+} // namespace remoting |