refs #884 Refactoring: moved method.

This commit is contained in:
Mathew Sutcliffe
2017-03-15 18:35:16 +00:00
parent 5b5e80e67f
commit 0d0e2cf9e0
3 changed files with 25 additions and 21 deletions

View File

@@ -180,24 +180,6 @@ namespace BlackMisc
return p;
}
QString lockFileError(const QLockFile &lock)
{
switch (lock.error())
{
case QLockFile::NoError: return "No error";
case QLockFile::PermissionError: return "Insufficient permission";
case QLockFile::UnknownError: return "Unknown filesystem error";
case QLockFile::LockFailedError:
{
QString hostname, appname;
qint64 pid = 0;
lock.getLockInfo(&pid, &hostname, &appname);
return QString("Lock open in another process (%1 %2 on %3)").arg(hostname, QString::number(pid), appname);
}
default: return "Bad error number";
}
}
void CDataCache::saveToStoreAsync(const BlackMisc::CValueCachePacket &values)
{
singleShot(0, &m_serializer, [this, values]
@@ -370,7 +352,7 @@ namespace BlackMisc
if (! m_lockFile.lock())
{
CLogMessage(this).error("Failed to lock %1: %2") << m_basename << lockFileError(m_lockFile);
CLogMessage(this).error("Failed to lock %1: %2") << m_basename << CFileUtils::lockFileError(m_lockFile);
return {};
}
m_updateInProgress = true;
@@ -636,7 +618,7 @@ namespace BlackMisc
if (! m_lockFile.lock())
{
CLogMessage(this).error("Failed to lock %1: %2") << m_basename << lockFileError(m_lockFile);
CLogMessage(this).error("Failed to lock %1: %2") << m_basename << CFileUtils::lockFileError(m_lockFile);
m_lockFile.unlock();
return;
}
@@ -672,7 +654,7 @@ namespace BlackMisc
if (! m_lockFile.lock())
{
CLogMessage(this).error("Failed to lock %1: %2") << m_basename << lockFileError(m_lockFile);
CLogMessage(this).error("Failed to lock %1: %2") << m_basename << CFileUtils::lockFileError(m_lockFile);
m_lockFile.unlock();
return 0;
}

View File

@@ -328,4 +328,22 @@ namespace BlackMisc
);
return executables;
}
QString CFileUtils::lockFileError(const QLockFile &lockFile)
{
switch (lockFile.error())
{
case QLockFile::NoError: return QStringLiteral("No error");
case QLockFile::PermissionError: return QStringLiteral("Insufficient permission");
case QLockFile::UnknownError: return QStringLiteral("Unknown error");
case QLockFile::LockFailedError:
{
QString hostname, appname;
qint64 pid = 0;
lockFile.getLockInfo(&pid, &hostname, &appname);
return QStringLiteral("Lock open in another process (%1 %2 on %3)").arg(hostname, QString::number(pid), appname);
}
default: return QStringLiteral("Bad error number");
}
}
} // ns

View File

@@ -17,6 +17,7 @@
#include <QDir>
#include <QFileInfo>
#include <QFileInfoList>
#include <QLockFile>
#include <QString>
#include <QStringList>
#include <Qt>
@@ -122,6 +123,9 @@ namespace BlackMisc
//! Get all swift executables
static const QStringList &getSwiftExecutables();
//! Error message explaining why a QLockFile failed to lock.
static QString lockFileError(const QLockFile &lockFile);
};
} // ns