qlock_p.h
来自「Qt4.5 提供的qvfb,最新版本」· C头文件 代码 · 共 101 行
H
101 行
/******************************************************************************** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).** Contact: Qt Software Information (qt-info@nokia.com)**** This file is part of the tools applications of the Qt Toolkit.**** $QT_BEGIN_LICENSE:LGPL$** Commercial Usage** Licensees holding valid Qt Commercial licenses may use this file in** accordance with the Qt Commercial License Agreement provided with the** Software or, alternatively, in accordance with the terms contained in** a written agreement between you and Nokia.**** GNU Lesser General Public License Usage** Alternatively, this file may be used under the terms of the GNU Lesser** General Public License version 2.1 as published by the Free Software** Foundation and appearing in the file LICENSE.LGPL included in the** packaging of this file. Please review the following information to** ensure the GNU Lesser General Public License version 2.1 requirements** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.**** In addition, as a special exception, Nokia gives you certain** additional rights. These rights are described in the Nokia Qt LGPL** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this** package.**** GNU General Public License Usage** Alternatively, this file may be used under the terms of the GNU** General Public License version 3.0 as published by the Free Software** Foundation and appearing in the file LICENSE.GPL included in the** packaging of this file. Please review the following information to** ensure the GNU General Public License version 3.0 requirements will be** met: http://www.gnu.org/copyleft/gpl.html.**** If you are unsure which license is appropriate for your use, please** contact the sales department at qt-sales@nokia.com.** $QT_END_LICENSE$******************************************************************************/#ifndef QLOCK_P_H#define QLOCK_P_H//// W A R N I N G// -------------//// This file is not part of the Qt API. This header file may// change from version to version without notice, or even be// removed.//// We mean it.//#include "QtCore/qstring.h"QT_BEGIN_NAMESPACEclass QLockData;class Q_GUI_EXPORT QLock{public: QLock(const QString &filename, char id, bool create = false); ~QLock(); enum Type { Read, Write }; bool isValid() const; void lock(Type type); void unlock(); bool locked() const;private: Type type; QLockData *data;};// Nice class for ensuring the lock is released.// Just create one on the stack and the lock is automatically released// when QLockHandle is destructed.class Q_GUI_EXPORT QLockHandle{public: QLockHandle(QLock *l, QLock::Type type) : qlock(l) { qlock->lock(type); } ~QLockHandle() { if (locked()) qlock->unlock(); } void lock(QLock::Type type) { qlock->lock(type); } void unlock() { qlock->unlock(); } bool locked() const { return qlock->locked(); }private: QLock *qlock;};QT_END_NAMESPACE#endif // QLOCK_P_H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?