blob: 5f4270f25ca7d6765c7841408c6a09493fe42f47 [file] [log] [blame]
[email protected]2e936d972011-05-18 21:47:521// Copyright (c) 2011 The Chromium Authors. All rights reserved.
[email protected]5461d9d2010-07-31 23:10:072// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
[email protected]0da3fea32008-12-17 23:08:244
5#ifndef NET_FTP_FTP_TRANSACTION_FACTORY_H_
6#define NET_FTP_FTP_TRANSACTION_FACTORY_H_
7
danakja9850e12016-04-18 22:28:088#include <memory>
9
[email protected]172da1b2011-08-12 15:52:2610#include "net/base/net_export.h"
[email protected]2e936d972011-05-18 21:47:5211
[email protected]0da3fea32008-12-17 23:08:2412namespace net {
13
[email protected]0da3fea32008-12-17 23:08:2414class FtpTransaction;
15
16// An interface to a class that can create FtpTransaction objects.
[email protected]172da1b2011-08-12 15:52:2617class NET_EXPORT FtpTransactionFactory {
[email protected]0da3fea32008-12-17 23:08:2418 public:
19 virtual ~FtpTransactionFactory() {}
20
21 // Creates a FtpTransaction object.
danakja9850e12016-04-18 22:28:0822 virtual std::unique_ptr<FtpTransaction> CreateTransaction() = 0;
[email protected]0da3fea32008-12-17 23:08:2423
[email protected]0da3fea32008-12-17 23:08:2424 // Suspends the creation of new transactions. If |suspend| is false, creation
25 // of new transactions is resumed.
26 virtual void Suspend(bool suspend) = 0;
27};
28
29} // namespace net
30
31#endif // NET_FTP_FTP_TRANSACTION_FACTORY_H_