Commit 90fa06d5 authored by Ivan Dokunov's avatar Ivan Dokunov

FileExtIterator & FileExtsIterator style refactor

parent 43facccf
#include "FileExtIterator.h"
CFileExtIterator::CFileExtIterator(const char *szPath, const char *szExt)
: m_szPath(szPath), m_szExt(szExt)
: m_sPath(szPath), m_szExt(szExt)
{}
const char *CFileExtIterator::next()
......@@ -10,7 +10,7 @@ const char *CFileExtIterator::next()
HANDLE hf;
//Если указали расширение файла - то добавляем его к имени пути, иначе ищем все файлы
String fileName = m_szExt == nullptr ? (m_szPath + "*.*") : (m_szPath + "*." + *m_szExt);
String fileName = m_szExt == nullptr ? (m_sPath + "*.*") : (m_sPath + "*." + *m_szExt);
//Проверяем указатель, если m_handle пустой, то ищем первый файл с расширением szExts
hf = INVALID_OR_NULL(m_handle) ? FindFirstFile(fileName.c_str(), &FindFileData) : m_handle;
......@@ -24,12 +24,12 @@ const char *CFileExtIterator::next()
m_handle = hf;
//Возвращаем полный путь, вместе с именем файла и расширением
return (m_szPath + "\\" + FindFileData.cFileName).c_str();
return (m_sPath + "\\" + FindFileData.cFileName).c_str();
}
}
//Если вообще не нашли файлов возвращаем пустую строку?? или nullptr?
return "";
return nullptr;
}
void CFileExtIterator::reset()
......@@ -40,4 +40,4 @@ void CFileExtIterator::reset()
CFileExtIterator::~CFileExtIterator()
{
CLOSE_HANDLE(m_handle);
}
\ No newline at end of file
}
......@@ -8,7 +8,7 @@
class CFileExtIterator final : public IFileSystem::IFileIterator
{
private:
String m_szPath;
String m_sPath;
const char *m_szExt;
HANDLE m_handle = nullptr;
......
#include "FileExtsIterator.h"
CFileExtsIterator::CFileExtsIterator(const char *szPath, const char **szExts, int extArraySize)
: m_szPath(szPath), m_szExts(szExts), m_extCount(extArraySize)
: m_sPath(szPath), m_szExts(szExts), m_extCount(extArraySize)
{}
const char *CFileExtsIterator::next()
......@@ -11,7 +11,7 @@ const char *CFileExtsIterator::next()
while (m_currentExt < m_extCount)
{
String fileName = m_szPath + "*." + *m_szExts[m_currentExt];
String fileName = m_sPath + "*." + *m_szExts[m_currentExt];
//Проверяем указатель, если m_handle пустой, то ищем первый файл с расширением szExts
hf = INVALID_OR_NULL(m_handle) ? FindFirstFile(fileName.c_str(), &FindFileData) : m_handle;
......@@ -22,13 +22,13 @@ const char *CFileExtsIterator::next()
{
m_handle = hf;
return (m_szPath + "\\" + FindFileData.cFileName).c_str();
return (m_sPath + "\\" + FindFileData.cFileName).c_str();
}
++m_currentExt;
}
}
return "";
return nullptr;
}
void CFileExtsIterator::reset()
......@@ -40,4 +40,4 @@ void CFileExtsIterator::reset()
CFileExtsIterator::~CFileExtsIterator()
{
CLOSE_HANDLE(m_handle);
}
\ No newline at end of file
}
......@@ -8,7 +8,7 @@
class CFileExtsIterator final : public IFileSystem::IFileIterator
{
private:
String m_szPath;
String m_sPath;
const char **m_szExts;
......
......@@ -57,7 +57,7 @@ public:
//! No implementation
IFileIterator *getFolderList() override;
IFileIterator *getFileList(const char *szPath, const char *szExt) override;
IFileIterator *getFileList(const char *szPath, const char *szExt = 0) override;
IFileIterator *getFileList(const char *szPath, const char **szExts, int extsCount) override;
......
......@@ -80,7 +80,7 @@ public:
szPath может быть не канонизирован и необязательно должен заканчиваться слэшем,
szPath уже может содержать фильтр (к примеру C:/*), но если его нет, тогда функция подставит сама
*/
virtual IFileIterator *getFileList(const char *szPath, const char *szExt) = 0;
virtual IFileIterator *getFileList(const char *szPath, const char *szExt = 0) = 0;
//! То же, что и предыдущая, только для массива расширений
virtual IFileIterator *getFileList(const char *szPath, const char **szExts, int extsCount) = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment