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. 4 5 #include "net/ftp/ftp_network_layer.h" 6 7 #include "net/ftp/ftp_network_session.h" 8 #include "net/ftp/ftp_network_transaction.h" 9 #include "net/socket/client_socket_factory.h" 10 11 namespace net { 12 FtpNetworkLayer(HostResolver * host_resolver)13FtpNetworkLayer::FtpNetworkLayer(HostResolver* host_resolver) 14 : session_(new FtpNetworkSession(host_resolver)), 15 suspended_(false) { 16 } 17 ~FtpNetworkLayer()18FtpNetworkLayer::~FtpNetworkLayer() { 19 } 20 21 // static CreateFactory(HostResolver * host_resolver)22FtpTransactionFactory* FtpNetworkLayer::CreateFactory( 23 HostResolver* host_resolver) { 24 return new FtpNetworkLayer(host_resolver); 25 } 26 CreateTransaction()27FtpTransaction* FtpNetworkLayer::CreateTransaction() { 28 if (suspended_) 29 return NULL; 30 31 return new FtpNetworkTransaction(session_.get(), 32 ClientSocketFactory::GetDefaultFactory()); 33 } 34 Suspend(bool suspend)35void FtpNetworkLayer::Suspend(bool suspend) { 36 suspended_ = suspend; 37 38 /* TODO(darin): We'll need this code once we have a connection manager. 39 if (suspend) 40 session_->connection_manager()->CloseIdleSockets(); 41 */ 42 } 43 44 } // namespace net 45