Roll src/third_party/WebKit 8121bc6:918aba1 (svn 188871:188878)
[chromium-blink-merge.git] / net / ftp / ftp_network_layer.cc
blob098fb9fb0a6f7e08e9aa6fe129165a66aa6321a4
1 // Copyright (c) 2008 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.
5 #include "net/ftp/ftp_network_layer.h"
7 #include "net/ftp/ftp_network_session.h"
8 #include "net/ftp/ftp_network_transaction.h"
9 #include "net/socket/client_socket_factory.h"
11 namespace net {
13 FtpNetworkLayer::FtpNetworkLayer(HostResolver* host_resolver)
14 : session_(new FtpNetworkSession(host_resolver)),
15 suspended_(false) {
18 FtpNetworkLayer::~FtpNetworkLayer() {
21 // static
22 FtpTransactionFactory* FtpNetworkLayer::CreateFactory(
23 HostResolver* host_resolver) {
24 return new FtpNetworkLayer(host_resolver);
27 FtpTransaction* FtpNetworkLayer::CreateTransaction() {
28 if (suspended_)
29 return NULL;
31 return new FtpNetworkTransaction(session_.get(),
32 ClientSocketFactory::GetDefaultFactory());
35 void FtpNetworkLayer::Suspend(bool suspend) {
36 suspended_ = suspend;
38 /* TODO(darin): We'll need this code once we have a connection manager.
39 if (suspend)
40 session_->connection_manager()->CloseIdleSockets();
44 } // namespace net