58 lines
2 KiB
MQL5
58 lines
2 KiB
MQL5
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
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;
|
|
}
|
|
};
|
|
//+------------------------------------------------------------------+
|