Warrior_EA/Database/DatabaseFileSystemManager.mqh

59 lines
2 KiB
MQL5
Raw Permalink Normal View History

2025-05-30 16:35:54 +02:00
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
class CDatabaseFileSystemManager
{
public:
bool CreateDirectory(string folderName)
{
int attempts = 0;
while(attempts < 5)
{
if(FolderCreate(folderName, FILE_COMMON))
{
return true;
}
Print(__FUNCTION__ + ": Retry " + IntegerToString(attempts + 1) + " failed to create directory: " + folderName);
Sleep(1000); // Wait for a second before retrying
attempts++;
}
Print(__FUNCTION__ + ": Failed to create directory after retries: " + folderName);
return false;
}
bool CleanDirectory(string folderName)
{
int attempts = 0;
while(attempts < 5)
{
if(FolderClean(folderName, FILE_COMMON))
{
return true;
}
Print(__FUNCTION__ + ": Retry " + IntegerToString(attempts + 1) + " failed to clean folder: " + folderName);
Sleep(1000); // Wait for a second before retrying
attempts++;
}
Print(__FUNCTION__ + ": Failed to clean folder after retries: " + folderName);
return false;
}
bool DeleteFile(string fileName)
{
int attempts = 0;
while(attempts < 5)
{
if(FileDelete(fileName, FILE_COMMON))
{
return true;
}
Print(__FUNCTION__ + ": Retry " + IntegerToString(attempts + 1) + " failed to delete file: " + fileName);
Sleep(1000); // Wait for a second before retrying
attempts++;
}
Print(__FUNCTION__ + ": Failed to delete file after retries: " + fileName);
return false;
}
};
//+------------------------------------------------------------------+