Chromium Code Reviews| 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 |