X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcontrib%2Flibqxt-2007-10-24%2Fsrc%2Fcore%2Fqxtfilelock.h;fp=src%2Fcontrib%2Flibqxt-2007-10-24%2Fsrc%2Fcore%2Fqxtfilelock.h;h=f8f862ccb90d84403524acf47dc0c85700844104;hp=0000000000000000000000000000000000000000;hb=a634acadbcf6017474f68a3eaf7cb632660e9e49;hpb=cd122ca8e0d2c0ffc5397e0a813c75d791a7e6e3 diff --git a/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock.h b/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock.h new file mode 100644 index 00000000..f8f862cc --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/core/qxtfilelock.h @@ -0,0 +1,67 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtCore module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ + +#ifndef QXTFILELOCK_H_INCLUDED +#define QXTFILELOCK_H_INCLUDED + + +#include +#include +#include "qxtglobal.h" +#include "qxtpimpl.h" + +class QxtFileLockPrivate; + +class QXT_CORE_EXPORT QxtFileLock : public QObject +{ + Q_OBJECT + +public: + + enum Mode + { + ReadLockWait, + ReadLock, + WriteLockWait, + WriteLock + }; + + QxtFileLock(QFile *file, const off_t offset,const off_t length,const QxtFileLock::Mode mode = WriteLockWait); + ~QxtFileLock(); + + off_t offset() const; + off_t length() const; + bool isActive() const; + QFile *file() const; + QxtFileLock::Mode mode() const; + +public slots: + bool lock (); + bool unlock(); + +private: + QxtFileLock(const QxtFileLock &other); + QXT_DECLARE_PRIVATE(QxtFileLock); +}; +#endif