KDECore
klockfile.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KLOCKFILE_H
00021 #define KLOCKFILE_H
00022
00023 #include <kdecore_export.h>
00024 #include <ksharedptr.h>
00025 #include <kglobal.h>
00026
00027 class QString;
00028
00036 class KDECORE_EXPORT KLockFile : public KShared
00037 {
00038 public:
00039 typedef KSharedPtr<KLockFile> Ptr;
00040
00041 explicit KLockFile(const QString &file, const KComponentData &componentName = KGlobal::mainComponent());
00042
00046 ~KLockFile();
00047
00051 enum LockResult {
00055 LockOK = 0,
00056
00060 LockFail,
00061
00065 LockError,
00066
00070 LockStale
00071 };
00072
00073 enum LockFlag {
00077 NoBlockFlag = 1,
00078
00083 ForceFlag = 2
00084 };
00085 Q_DECLARE_FLAGS(LockFlags, LockFlag)
00086
00087
00092 LockResult lock(LockFlags flags=LockFlags());
00093
00097 bool isLocked() const;
00098
00102 void unlock();
00103
00108 int staleTime() const;
00109
00113 void setStaleTime(int _staleTime);
00114
00120 bool getLockInfo(int &pid, QString &hostname, QString &appname);
00121
00122 private:
00123 class Private;
00124 Private *const d;
00125 };
00126
00127 Q_DECLARE_OPERATORS_FOR_FLAGS(KLockFile::LockFlags)
00128
00129 #endif