32 const ScopedLock lock (mutex);
33 return random.nextInt();
37 CriticalSection mutex;
41static LockedRandom lockedRandom;
43static File createTempFile (
const File& parentDirectory, String name,
44 const String& suffix,
int optionFlags)
53 : temporaryFile (createTempFile (
File::getSpecialLocation (
File::tempDirectory),
54 "temp_" +
String::toHexString (lockedRandom.nextInt()),
61 : temporaryFile (createTempFile (target.getParentDirectory(),
62 target.getFileNameWithoutExtension()
63 +
"_temp" +
String::toHexString (lockedRandom.nextInt()),
68 jassert (targetFile !=
File());
72 : temporaryFile (
temporary), targetFile (target)
97 jassert (targetFile !=
File());
99 if (temporaryFile.exists())
102 for (
int i = 5; --i >= 0;)
104 if (temporaryFile.replaceFileIn (targetFile))
123 for (
int i = 5; --i >= 0;)
125 if (temporaryFile.isDirectory() ? temporaryFile.deleteRecursively() : temporaryFile.deleteFile())
bool deleteTemporaryFile() const
bool overwriteTargetFileWithTemporary() const
TemporaryFile(const String &suffix=String(), int optionFlags=0)
static void JUCE_CALLTYPE sleep(int milliseconds)