Mercurial > hg > svcore
annotate base/TempWriteFile.h @ 1482:c014839f49c7 plugin-path-config
Record path associated with first helper found for a plugin, not last (so native helper in preference to 32-bit helper). Also more debug output
| author | Chris Cannam | 
|---|---|
| date | Mon, 11 Jun 2018 11:34:11 +0100 | 
| parents | 1c9bbbb6116a | 
| children | 
| rev | line source | 
|---|---|
| Chris@674 | 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ | 
| Chris@674 | 2 | 
| Chris@674 | 3 /* | 
| Chris@674 | 4 Sonic Visualiser | 
| Chris@674 | 5 An audio file viewer and annotation editor. | 
| Chris@674 | 6 Centre for Digital Music, Queen Mary, University of London. | 
| Chris@674 | 7 | 
| Chris@674 | 8 This program is free software; you can redistribute it and/or | 
| Chris@674 | 9 modify it under the terms of the GNU General Public License as | 
| Chris@674 | 10 published by the Free Software Foundation; either version 2 of the | 
| Chris@674 | 11 License, or (at your option) any later version. See the file | 
| Chris@674 | 12 COPYING included with this distribution for more information. | 
| Chris@674 | 13 */ | 
| Chris@674 | 14 | 
| Chris@1359 | 15 #ifndef SV_TEMP_WRITE_FILE_H | 
| Chris@1359 | 16 #define SV_TEMP_WRITE_FILE_H | 
| Chris@674 | 17 | 
| Chris@674 | 18 #include <QTemporaryFile> | 
| Chris@674 | 19 | 
| Chris@674 | 20 /** | 
| Chris@674 | 21 * A class that manages the creation of a temporary file with a given | 
| Chris@674 | 22 * prefix and the renaming of that file to the prefix after use. For | 
| Chris@674 | 23 * use when saving a file over an existing one, to avoid clobbering | 
| Chris@674 | 24 * the original before the save is complete. | 
| Chris@674 | 25 */ | 
| Chris@674 | 26 class TempWriteFile | 
| Chris@674 | 27 { | 
| Chris@674 | 28 public: | 
| Chris@674 | 29 TempWriteFile(QString targetFileName); // may throw FileOperationFailed | 
| Chris@674 | 30 | 
| Chris@674 | 31 /** | 
| Chris@674 | 32 * Destroy the temporary file object. If moveToTarget has not | 
| Chris@674 | 33 * been called, the associated temporary file will be deleted | 
| Chris@674 | 34 * without being copied to the target location. | 
| Chris@674 | 35 */ | 
| Chris@674 | 36 ~TempWriteFile(); | 
| Chris@674 | 37 | 
| Chris@674 | 38 /** | 
| Chris@674 | 39 * Return the name of the temporary file. Unless the constructor | 
| Chris@674 | 40 * threw an exception, this file will have been created already | 
| Chris@674 | 41 * (but it will not be open). | 
| Chris@674 | 42 * | 
| Chris@674 | 43 * (If moveToTarget has already been called, return an empty | 
| Chris@674 | 44 * string.) | 
| Chris@674 | 45 */ | 
| Chris@674 | 46 QString getTemporaryFilename(); | 
| Chris@674 | 47 | 
| Chris@674 | 48 /** | 
| Chris@674 | 49 * Rename the temporary file to the target filename. | 
| Chris@674 | 50 */ | 
| Chris@674 | 51 void moveToTarget(); | 
| Chris@674 | 52 | 
| Chris@674 | 53 protected: | 
| Chris@674 | 54 QString m_target; | 
| Chris@674 | 55 QString m_temp; | 
| Chris@674 | 56 }; | 
| Chris@674 | 57 | 
| Chris@674 | 58 | 
| Chris@674 | 59 #endif | 
