mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 14:55:36 +08:00
refs #777 Utilities for reading/writing files while holding a QLockFile.
This commit is contained in:
committed by
Klaus Basan
parent
cf9b6f039c
commit
7f422eb3e4
@@ -17,6 +17,7 @@
|
||||
#include <QFlags>
|
||||
#include <QIODevice>
|
||||
#include <QList>
|
||||
#include <QLockFile>
|
||||
#include <QTextStream>
|
||||
#include <QtGlobal>
|
||||
#include <algorithm>
|
||||
@@ -48,6 +49,13 @@ namespace BlackMisc
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CFileUtils::writeStringToLockedFile(const QString &content, const QString &fileNameAndPath)
|
||||
{
|
||||
QLockFile lock(fileNameAndPath + ".lock");
|
||||
lock.lock();
|
||||
return writeStringToFile(content, fileNameAndPath);
|
||||
}
|
||||
|
||||
QString CFileUtils::readFileToString(const QString &fileNameAndPath)
|
||||
{
|
||||
QFile file(fileNameAndPath);
|
||||
@@ -58,11 +66,23 @@ namespace BlackMisc
|
||||
return content;
|
||||
}
|
||||
|
||||
QString CFileUtils::readLockedFileToString(const QString &fileNameAndPath)
|
||||
{
|
||||
QLockFile lock(fileNameAndPath + ".lock");
|
||||
lock.lock();
|
||||
return readFileToString(fileNameAndPath);
|
||||
}
|
||||
|
||||
QString CFileUtils::readFileToString(const QString &filePath, const QString &fileName)
|
||||
{
|
||||
return readFileToString(appendFilePaths(filePath, fileName));
|
||||
}
|
||||
|
||||
QString CFileUtils::readLockedFileToString(const QString &filePath, const QString &fileName)
|
||||
{
|
||||
return readLockedFileToString(appendFilePaths(filePath, fileName));
|
||||
}
|
||||
|
||||
bool CFileUtils::writeStringToFileInBackground(const QString &content, const QString &fileNameAndPath)
|
||||
{
|
||||
if (fileNameAndPath.isEmpty()) { return false; }
|
||||
|
||||
@@ -41,12 +41,21 @@ namespace BlackMisc
|
||||
//! Write string to text file
|
||||
static bool writeStringToFile(const QString &content, const QString &fileNameAndPath);
|
||||
|
||||
//! Write string to file, with a lock so two applications can't access at the same time
|
||||
static bool writeStringToLockedFile(const QString &content, const QString &fileNameAndPath);
|
||||
|
||||
//! Read file into string
|
||||
static QString readFileToString(const QString &fileNameAndPath);
|
||||
|
||||
//! Read file into string, with a lock so two applications can't access at the same time
|
||||
static QString readLockedFileToString(const QString &fileNameAndPath);
|
||||
|
||||
//! Read file into string
|
||||
static QString readFileToString(const QString &filePath, const QString &fileName);
|
||||
|
||||
//! Read file into string, with a lock so two applications can't access at the same time
|
||||
static QString readLockedFileToString(const QString &filePath, const QString &fileName);
|
||||
|
||||
//! Write string to text file in background
|
||||
static bool writeStringToFileInBackground(const QString &content, const QString &fileNameAndPath);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user