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()),
55 suffix, optionFlags)),
61 : temporaryFile (createTempFile (target.getParentDirectory(),
62 target.getFileNameWithoutExtension()
63 +
"_temp" +
String::toHexString (lockedRandom.nextInt()),
64 target.getFileExtension(), optionFlags)),
68 jassert (targetFile !=
File());
72 : temporaryFile (temporary), targetFile (target)
97 jassert (targetFile !=
File());
99 if (temporaryFile.
exists())
102 for (
int i = 5; --i >= 0;)
123 for (
int i = 5; --i >= 0;)
bool deleteRecursively(bool followSymlinks=false) const
File getNonexistentChildFile(const String &prefix, const String &suffix, bool putNumbersInBrackets=true) const
bool replaceFileIn(const File &targetLocation) const
bool deleteTemporaryFile() const
bool overwriteTargetFileWithTemporary() const
TemporaryFile(const String &suffix=String(), int optionFlags=0)
static void JUCE_CALLTYPE sleep(int milliseconds)