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