Qore Programming Language
0.8.7
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
qore
QoreFtpClient.h
1
/* -*- mode: c++; indent-tabs-mode: nil -*- */
2
/*
3
QoreFtpClient.h
4
5
thread-safe Qore QoreFtpClient object
6
7
Qore Programming Language
8
9
Copyright 2003 - 2013 David Nichols
10
11
This library is free software; you can redistribute it and/or
12
modify it under the terms of the GNU Lesser General Public
13
License as published by the Free Software Foundation; either
14
version 2.1 of the License, or (at your option) any later version.
15
16
This library is distributed in the hope that it will be useful,
17
but WITHOUT ANY WARRANTY; without even the implied warranty of
18
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19
Lesser General Public License for more details.
20
21
You should have received a copy of the GNU Lesser General Public
22
License along with this library; if not, write to the Free Software
23
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24
*/
25
26
#ifndef _QORE_QOREFTPCLIENT_H
27
28
#define _QORE_QOREFTPCLIENT_H
29
30
#define DEFAULT_FTP_CONTROL_PORT 21
31
#define DEFAULT_FTP_DATA_PORT 20
32
33
#define DEFAULT_USERNAME "anonymous"
34
#define DEFAULT_PASSWORD "qore@nohost.com"
35
36
class
FtpResp;
37
class
Queue;
38
40
60
class
QoreFtpClient
{
61
protected
:
63
struct
qore_ftp_private *
priv
;
64
66
DLLLOCAL
QoreFtpClient
(
const
QoreFtpClient
&);
67
69
DLLLOCAL
QoreFtpClient
&
operator=
(
const
QoreFtpClient
&);
70
71
public
:
73
78
DLLEXPORT
QoreFtpClient
(
const
QoreString
*url,
ExceptionSink
*xsink);
79
81
DLLEXPORT
QoreFtpClient
();
82
84
DLLEXPORT
~QoreFtpClient
();
85
87
91
DLLEXPORT
int
connect
(
ExceptionSink
*xsink);
92
94
97
DLLEXPORT
int
disconnect
();
98
100
106
DLLEXPORT
int
cwd
(
const
char
*dir,
ExceptionSink
*xsink);
107
109
113
DLLEXPORT
QoreStringNode
*
pwd
(
ExceptionSink
*xsink);
114
116
122
DLLEXPORT
int
put
(
const
char
*localpath,
const
char
*remotename,
ExceptionSink
*xsink);
123
125
134
DLLEXPORT
int
get
(
const
char
*remotepath,
const
char
*localname,
ExceptionSink
*xsink);
135
137
144
DLLEXPORT
int
putData
(
const
void
*data,
qore_size_t
len,
const
char
*remotename,
ExceptionSink
*xsink);
145
147
152
DLLEXPORT
QoreStringNode
*
getAsString
(
const
char
*remotepath,
ExceptionSink
*xsink);
153
155
160
DLLEXPORT
BinaryNode
*
getAsBinary
(
const
char
*remotepath,
ExceptionSink
*xsink);
161
163
169
DLLEXPORT
int
rename
(
const
char
*from,
const
char
*to,
ExceptionSink
*xsink);
170
172
178
DLLEXPORT
QoreStringNode
*
list
(
const
char
*path,
bool
long_list,
ExceptionSink
*xsink);
179
181
186
DLLEXPORT
int
del
(
const
char
*file,
ExceptionSink
*xsink);
187
189
194
DLLEXPORT
int
mkdir
(
const
char
*remotepath,
ExceptionSink
*xsink);
195
197
202
DLLEXPORT
int
rmdir
(
const
char
*remotepath,
ExceptionSink
*xsink);
203
205
DLLEXPORT
int
getPort
()
const
;
206
208
DLLEXPORT
const
char
*
getUserName
()
const
;
209
211
DLLEXPORT
const
char
*
getPassword
()
const
;
212
214
DLLEXPORT
const
char
*
getHostName
()
const
;
215
217
222
DLLEXPORT
void
setURL
(
const
QoreString
*url,
ExceptionSink
*xsink);
223
225
228
DLLEXPORT
QoreStringNode
*
getURL
()
const
;
229
231
DLLEXPORT
void
setPort
(
int
p);
232
234
DLLEXPORT
void
setUserName
(
const
char
*u);
235
237
DLLEXPORT
void
setPassword
(
const
char
*p);
238
240
DLLEXPORT
void
setHostName
(
const
char
*h);
241
243
245
DLLEXPORT
int
setSecure
();
246
248
250
DLLEXPORT
int
setInsecure
();
251
253
257
DLLEXPORT
int
setInsecureData
();
258
260
263
DLLEXPORT
bool
isSecure
()
const
;
264
266
269
DLLEXPORT
bool
isDataSecure
()
const
;
270
272
275
DLLEXPORT
const
char
*
getSSLCipherName
()
const
;
276
278
281
DLLEXPORT
const
char
*
getSSLCipherVersion
()
const
;
282
284
DLLEXPORT
long
verifyPeerCertificate
()
const
;
285
287
DLLEXPORT
void
setModeAuto
();
288
290
DLLEXPORT
void
setModeEPSV
();
291
293
DLLEXPORT
void
setModePASV
();
294
296
DLLEXPORT
void
setModePORT
();
297
299
DLLLOCAL
void
setEventQueue
(Queue *cbq,
ExceptionSink
*xsink);
300
302
DLLLOCAL
void
setDataEventQueue
(Queue *cbq,
ExceptionSink
*xsink);
303
305
DLLLOCAL
void
setControlEventQueue
(Queue *cbq,
ExceptionSink
*xsink);
306
307
DLLLOCAL
void
cleanup(
ExceptionSink
*xsink);
308
};
309
310
#endif // _QORE_OBJECTS_FTPCLIENT_H