1// Copyright (c) 2011 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#ifndef NET_FTP_FTP_TRANSACTION_FACTORY_H_
6#define NET_FTP_FTP_TRANSACTION_FACTORY_H_
7
8#include "net/base/net_export.h"
9
10namespace net {
11
12class FtpTransaction;
13
14// An interface to a class that can create FtpTransaction objects.
15class NET_EXPORT FtpTransactionFactory {
16 public:
17  virtual ~FtpTransactionFactory() {}
18
19  // Creates a FtpTransaction object.
20  virtual FtpTransaction* CreateTransaction() = 0;
21
22  // Suspends the creation of new transactions. If |suspend| is false, creation
23  // of new transactions is resumed.
24  virtual void Suspend(bool suspend) = 0;
25};
26
27}  // namespace net
28
29#endif  // NET_FTP_FTP_TRANSACTION_FACTORY_H_
30