Add beginnings of a custom FTP implementation. This is built but not used or
tested yet. This is just skeleton code.
R=wtc
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7179 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/net/ftp/ftp_transaction_factory.h b/net/ftp/ftp_transaction_factory.h
new file mode 100644
index 0000000..67af6457
--- /dev/null
+++ b/net/ftp/ftp_transaction_factory.h
@@ -0,0 +1,31 @@
+// Copyright (c) 2008 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.
+
+#ifndef NET_FTP_FTP_TRANSACTION_FACTORY_H_
+#define NET_FTP_FTP_TRANSACTION_FACTORY_H_
+
+namespace net {
+
+class AuthCache;
+class FtpTransaction;
+
+// An interface to a class that can create FtpTransaction objects.
+class FtpTransactionFactory {
+ public:
+ virtual ~FtpTransactionFactory() {}
+
+ // Creates a FtpTransaction object.
+ virtual FtpTransaction* CreateTransaction() = 0;
+
+ // Returns the associated FTP auth cache if any (may be NULL).
+ virtual AuthCache* GetAuthCache() = 0;
+
+ // Suspends the creation of new transactions. If |suspend| is false, creation
+ // of new transactions is resumed.
+ virtual void Suspend(bool suspend) = 0;
+};
+
+} // namespace net
+
+#endif // NET_FTP_FTP_TRANSACTION_FACTORY_H_