OpenShot Library | OpenShotAudio
0.2.2
|
Manages a temporary file, which will be deleted when this object is deleted. More...
#include <juce_TemporaryFile.h>
Public Types | |
enum | OptionFlags { useHiddenFile = 1, putNumbersInBrackets = 2 } |
Public Member Functions | |
TemporaryFile (const String &suffix=String(), int optionFlags=0) | |
Creates a randomly-named temporary file in the default temp directory. More... | |
TemporaryFile (const File &targetFile, int optionFlags=0) | |
Creates a temporary file in the same directory as a specified file. More... | |
TemporaryFile (const File &targetFile, const File &temporaryFile) | |
Creates a temporary file using an explicit filename. More... | |
~TemporaryFile () | |
Destructor. More... | |
const File & | getFile () const noexcept |
Returns the temporary file. More... | |
const File & | getTargetFile () const noexcept |
Returns the target file that was specified in the constructor. More... | |
bool | overwriteTargetFileWithTemporary () const |
Tries to move the temporary file to overwrite the target file that was specified in the constructor. More... | |
bool | deleteTemporaryFile () const |
Attempts to delete the temporary file, if it exists. More... | |
Manages a temporary file, which will be deleted when this object is deleted.
This object is intended to be used as a stack based object, using its scope to make sure the temporary file isn't left lying around.
For example:
Definition at line 68 of file juce_TemporaryFile.h.
Enumerator | |
---|---|
useHiddenFile | Indicates that the temporary file should be hidden - i.e. its name should start with a dot. |
putNumbersInBrackets | Indicates that when numbers are appended to make sure the file is unique, they should go in brackets rather than just being appended (see File::getNonexistentSibling() ) |
Definition at line 72 of file juce_TemporaryFile.h.
Creates a randomly-named temporary file in the default temp directory.
suffix | a file suffix to use for the file |
optionFlags | a combination of the values listed in the OptionFlags enum The file will not be created until you write to it. And remember that when this object is deleted, the file will also be deleted! |
Definition at line 35 of file juce_TemporaryFile.cpp.
juce::TemporaryFile::TemporaryFile | ( | const File & | targetFile, |
int | optionFlags = 0 |
||
) |
Creates a temporary file in the same directory as a specified file.
This is useful if you have a file that you want to overwrite, but don't want to harm the original file if the write operation fails. You can use this to create a temporary file next to the target file, then write to the temporary file, and finally use overwriteTargetFileWithTemporary() to replace the target file with the one you've just written.
This class won't create any files until you actually write to them. And remember that when this object is deleted, the temporary file will also be deleted!
targetFile | the file that you intend to overwrite - the temporary file will be created in the same directory as this |
optionFlags | a combination of the values listed in the OptionFlags enum |
Definition at line 43 of file juce_TemporaryFile.cpp.
Creates a temporary file using an explicit filename.
The other constructors are a better choice than this one, unless for some reason you need to explicitly specify the temporary file you want to use.
targetFile | the file that you intend to overwrite |
temporaryFile | the temporary file to be used |
Definition at line 54 of file juce_TemporaryFile.cpp.
juce::TemporaryFile::~TemporaryFile | ( | ) |
Destructor.
When this object is deleted it will make sure that its temporary file is also deleted! If the operation fails, it'll throw an assertion in debug mode.
Definition at line 59 of file juce_TemporaryFile.cpp.
References deleteTemporaryFile().
|
inlinenoexcept |
Returns the temporary file.
Definition at line 130 of file juce_TemporaryFile.h.
Referenced by juce::WavAudioFormat::createWriterFor(), juce::File::replaceWithData(), juce::File::replaceWithText(), juce::PropertiesFile::save(), juce::FileLogger::trimFileSize(), and juce::XmlElement::writeTo().
|
inlinenoexcept |
Returns the target file that was specified in the constructor.
Definition at line 133 of file juce_TemporaryFile.h.
bool juce::TemporaryFile::overwriteTargetFileWithTemporary | ( | ) | const |
Tries to move the temporary file to overwrite the target file that was specified in the constructor.
If you used the constructor that specified a target file, this will attempt to replace that file with the temporary one.
Before calling this, make sure:
If the file move succeeds, this returns true, and the temporary file will have disappeared. If it fails, the temporary file will probably still exist, but will be deleted when this object is destroyed.
Definition at line 76 of file juce_TemporaryFile.cpp.
References juce::File::exists(), juce::File::replaceFileIn(), and juce::Thread::sleep().
Referenced by juce::WavAudioFormat::createWriterFor(), juce::File::replaceWithData(), juce::File::replaceWithText(), juce::PropertiesFile::save(), juce::FileLogger::trimFileSize(), and juce::XmlElement::writeTo().
bool juce::TemporaryFile::deleteTemporaryFile | ( | ) | const |
Attempts to delete the temporary file, if it exists.
Definition at line 103 of file juce_TemporaryFile.cpp.
References juce::File::deleteFile(), and juce::Thread::sleep().
Referenced by ~TemporaryFile().