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');
87 if (buffer.endsWith(
"\r")) buffer.remove(buffer.length() - 1);
88 FTPLogger::writeLog(LOG_DEBUG,
"line", buffer.c_str());
91 if (api_ptr->currentOperation() == LS_OP && buffer[0] == 0) {
95 api_ptr->setCurrentOperation(NOP);
98 const char *ok[] = {
"226",
"250",
nullptr};
99 api_ptr->checkResult(ok,
"ls-end",
true);
102 FTPLogger::writeLog(LOG_ERROR,
"FTPFileIterator",
"stream_ptr is null");
107 Stream *stream_ptr =
nullptr;
109 const char *directory_name =
"";