//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ 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; } }; //+------------------------------------------------------------------+