1 // Copyright (c) 2008 The Chromium Authors. All rights reserved. Use of this 2 // source code is governed by a BSD-style license that can be found in the 3 // LICENSE file. 4 5 #ifndef NET_FTP_FTP_NETWORK_LAYER_H_ 6 #define NET_FTP_FTP_NETWORK_LAYER_H_ 7 8 #include "base/ref_counted.h" 9 #include "net/ftp/ftp_transaction_factory.h" 10 11 namespace net { 12 13 class FtpNetworkSession; 14 class FtpAuthCache; 15 class HostResolver; 16 17 class FtpNetworkLayer : public FtpTransactionFactory { 18 public: 19 explicit FtpNetworkLayer(HostResolver* host_resolver); 20 ~FtpNetworkLayer(); 21 22 static FtpTransactionFactory* CreateFactory(HostResolver* host_resolver); 23 24 // FtpTransactionFactory methods: 25 virtual FtpTransaction* CreateTransaction(); 26 virtual void Suspend(bool suspend); 27 28 private: 29 scoped_refptr<FtpNetworkSession> session_; 30 bool suspended_; 31 }; 32 33 } // namespace net 34 35 #endif // NET_FTP_FTP_NETWORK_LAYER_H_ 36