QGCTemporaryFile.h 1.34 KB
Newer Older
1
2
3
4
5
6
7
8
9
/****************************************************************************
 *
 *   (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
 *
 * QGroundControl is licensed according to the terms in the file
 * COPYING.md in the root of the source code directory.
 *
 ****************************************************************************/

Don Gagne's avatar
Don Gagne committed
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

#ifndef QGCTemporaryFile_H
#define QGCTemporaryFile_H

#include <QFile>

/// @file
///     @brief This class mimics QTemporaryFile. We have our own implementation due to the fact that
///				QTemporaryFile implemenation differs cross platform making it unusable for our use-case.
///				Look for bug reports on QTemporaryFile keeping the file locked for details.
///
///     @author Don Gagne <don@thegagnes.com>

class QGCTemporaryFile : public QFile {
    Q_OBJECT
    
public:
	/// @brief Creates a new temp file object. QGC temp files are always created in the
	//			QStandardPaths::TempLocation directory.
	//		@param template Template for file name following QTemporaryFile rules. Template should NOT include
	//							directory path, only file name.
    QGCTemporaryFile(const QString& fileTemplate, QObject* parent = NULL);

	/// @brief Opens the file in ReadWrite mode.
	///		@returns false - open failed
	bool open(OpenMode openMode = ReadWrite);
    
private:
    QString _template;
};


#endif