4 #include "FTPBasicAPI.h"
23 FTPLogger::writeLog(LOG_DEBUG,
"FTPFileIterator()");
24 this->directory_name = dir;
26 this->file_mode = mode;
30 FTPLogger::writeLog(LOG_DEBUG,
"FTPFileIterator",
"begin");
31 if (api_ptr !=
nullptr && directory_name !=
nullptr) {
32 stream_ptr = api_ptr->ls(directory_name);
35 FTPLogger::writeLog(LOG_ERROR,
"FTPFileIterator",
"api_ptr is null");
42 FTPLogger::writeLog(LOG_DEBUG,
"FTPFileIterator",
"end");
49 FTPLogger::writeLog(LOG_DEBUG,
"FTPFileIterator",
"++");
55 FTPLogger::writeLog(LOG_DEBUG,
"FTPFileIterator",
"++(1)");
56 for (
int j = 0; j < na; j++) readLine();
61 FTPLogger::writeLog(LOG_DEBUG,
"FTPFileIterator",
"*");
63 return FTPFile(api_ptr, buffer.c_str(), file_mode,
false);
66 bool operator!=(
const FTPFileIterator &comp) {
return buffer != comp.buffer; }
68 bool operator==(
const FTPFileIterator &comp) {
return buffer == comp.buffer; }
70 bool operator>(
const FTPFileIterator &comp) {
return buffer > comp.buffer; }
72 bool operator<(
const FTPFileIterator &comp) {
return buffer < comp.buffer; }
74 bool operator>=(
const FTPFileIterator &comp) {
return buffer >= comp.buffer; }
76 bool operator<=(
const FTPFileIterator &comp) {
return buffer <= comp.buffer; }
78 const char *fileName() {
return buffer.c_str(); }
82 FTPLogger::writeLog(LOG_DEBUG,
"FTPFileIterator",
"readLine");
84 if (stream_ptr !=
nullptr) {
85 buffer = stream_ptr->readStringUntil(
'\n');
86 FTPLogger::writeLog(LOG_DEBUG,
"line", buffer.c_str());
89 if (api_ptr->currentOperation() == LS_OP && buffer[0] == 0) {
93 api_ptr->setCurrentOperation(NOP);
96 const char *ok[] = {
"226",
"250",
nullptr};
97 api_ptr->checkResult(ok,
"ls-end",
true);
100 FTPLogger::writeLog(LOG_ERROR,
"FTPFileIterator",
"stream_ptr is null");
105 Stream *stream_ptr =
nullptr;
107 const char *directory_name =
"";
FTPBasicAPI Implementation of Low Level FTP protocol. In order to simplify the logic we always use Pa...
Definition: FTPBasicAPI.h:17
FTPFile A single file which supports read and write operations. This class is implemented as an Ardui...
Definition: FTPFile.h:16
FTPFileIterator The file name iterator can be used to list all available files and directories....
Definition: FTPFileIterator.h:18