1 /*
2  * lftp - file transfer program
3  *
4  * Copyright (c) 1996-2012 by Alexander V. Lukyanov (lav@yars.free.net)
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef FILECOPYFTP_H
21 #define FILECOPYFTP_H
22 
23 #include "FileCopy.h"
24 #include "ftpclass.h"
25 
26 class FileCopyFtp : public FileCopy
27 {
28    bool no_rest;
29    bool passive_source;
30    bool orig_passive_source;
31    bool disable_fxp;
32 #if USE_SSL
33    bool protect;
34    bool passive_ssl_connect;
35    bool orig_passive_ssl_connect;
36 #endif
37    int src_retries;
38    int dst_retries;
39    time_t src_try_time;
40    time_t dst_try_time;
41 
42    void Close();
43 
44 public:
45    void Init();
46    FileCopyFtp(FileCopyPeer *src,FileCopyPeer *dst,bool cont,bool rp);
47 
48    int Do();
49 
50    static FileCopy *New(FileCopyPeer *src,FileCopyPeer *dst,bool cont);
51 };
52 
53 #endif // FILECOPYFTP_H
54