blob: 062fc599dfd1f91d7bd0031f5ea4d5d6a525139b [file] [log] [blame]
// Copyright 2016 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/client/plugin/pepper_port_allocator_factory.h"
#include "base/memory/ptr_util.h"
#include "remoting/client/plugin/pepper_network_manager.h"
#include "remoting/client/plugin/pepper_packet_socket_factory.h"
#include "remoting/protocol/port_allocator.h"
#include "remoting/protocol/transport_context.h"
namespace remoting {
PepperPortAllocatorFactory::PepperPortAllocatorFactory(
pp::InstanceHandle pp_instance)
: pp_instance_(pp_instance) {}
PepperPortAllocatorFactory::~PepperPortAllocatorFactory() {}
std::unique_ptr<cricket::PortAllocator>
PepperPortAllocatorFactory::CreatePortAllocator(
scoped_refptr<protocol::TransportContext> transport_context) {
return base::WrapUnique(new protocol::PortAllocator(
base::WrapUnique(new PepperNetworkManager(pp_instance_)),
base::WrapUnique(new PepperPacketSocketFactory(pp_instance_)),
transport_context));
}
} // namespace remoting