summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qlockfile.h
blob: af481ab59b0883c15457341dcc99235a38737888 (plain)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
// Copyright (C) 2013 David Faure <faure+bluesystems@kde.org>// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only#ifndef QLOCKFILE_H#define QLOCKFILE_H#include <QtCore/qstring.h>#include <QtCore/qscopedpointer.h>#include <chrono> QT_BEGIN_NAMESPACE class QLockFilePrivate;class Q_CORE_EXPORT QLockFile {public:QLockFile(const QString &fileName);~QLockFile(); QString fileName()const;boollock();booltryLock(int timeout);voidunlock();voidsetStaleLockTime(int);intstaleLockTime()const;booltryLock(std::chrono::milliseconds timeout =std::chrono::milliseconds::zero());voidsetStaleLockTime(std::chrono::milliseconds value);std::chrono::milliseconds staleLockTimeAsDuration()const;boolisLocked()const;boolgetLockInfo(qint64 *pid, QString *hostname, QString *appname)const;boolremoveStaleLockFile();enum LockError { NoError =0, LockFailedError =1, PermissionError =2, UnknownError =3}; LockError error()const;protected: QScopedPointer<QLockFilePrivate> d_ptr;private:Q_DECLARE_PRIVATE(QLockFile)Q_DISABLE_COPY(QLockFile)}; QT_END_NAMESPACE #endif// QLOCKFILE_H
close