summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qlockfile.h
diff options
context:
space:
mode:
authorShantanu Tushar <shantanu.tushar@kdab.com>2020-10-24 19:16:16 +0200
committerShantanu Tushar <shantanu.tushar@kdab.com>2021-04-01 15:38:08 +0200
commit0592123a0c68b65c83555dc0f023c4bc77030f31 (patch)
tree83346e8e0e54d9fbd9c80734195eb9b320332711 /src/corelib/io/qlockfile.h
parentb3281eb6f45b2ee43ed0137e8076136f78a75b1f (diff)
Add std::chrono overloads for QLockFile functions
This makes it convenient to use QLockFile for projects which are able to use std::chrono to denote durations. Change-Id: Ib4520f6142412bdefe659fccc1e6d15b81af2f25 Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'src/corelib/io/qlockfile.h')
-rw-r--r--src/corelib/io/qlockfile.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/corelib/io/qlockfile.h b/src/corelib/io/qlockfile.h
index ba955241b6..aa5ad5e772 100644
--- a/src/corelib/io/qlockfile.h
+++ b/src/corelib/io/qlockfile.h
@@ -43,6 +43,10 @@
#include <QtCore/qstring.h>
#include <QtCore/qscopedpointer.h>
+#if __has_include(<chrono>)
+# include <chrono>
+#endif
+
QT_BEGIN_NAMESPACE
class QLockFilePrivate;
@@ -62,6 +66,17 @@ public:
void setStaleLockTime(int);
int staleLockTime() const;
+#if __has_include(<chrono>)
+ bool tryLock(std::chrono::milliseconds timeout) { return tryLock(int(timeout.count())); }
+
+ void setStaleLockTime(std::chrono::milliseconds value) { setStaleLockTime(int(value.count())); }
+
+ std::chrono::milliseconds staleLockTimeAsDuration() const
+ {
+ return std::chrono::milliseconds(staleLockTime());
+ }
+#endif
+
bool isLocked() const;
bool getLockInfo(qint64 *pid, QString *hostname, QString *appname) const;
bool removeStaleLockFile();