/**************************************************************************** | |
** | |
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). | |
** All rights reserved. | |
** Contact: Nokia Corporation (qt-info@nokia.com) | |
** | |
** This file is part of the QtNetwork module of the Qt Toolkit. | |
** | |
** $QT_BEGIN_LICENSE:LGPL$ | |
** GNU Lesser General Public License Usage | |
** 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.1, 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. | |
** | |
** Other Usage | |
** Alternatively, this file may be used in accordance with the terms and | |
** conditions contained in a signed written agreement between you and Nokia. | |
** | |
** | |
** | |
** | |
** | |
** $QT_END_LICENSE$ | |
** | |
****************************************************************************/ | |
#ifndef QURLINFO_H | |
#define QURLINFO_H | |
#include <QtCore/qdatetime.h> | |
#include <QtCore/qstring.h> | |
#include <QtCore/qiodevice.h> | |
QT_BEGIN_HEADER | |
QT_BEGIN_NAMESPACE | |
QT_MODULE(Network) | |
#ifndef QT_NO_URLINFO | |
class QUrl; | |
class QUrlInfoPrivate; | |
class Q_NETWORK_EXPORT QUrlInfo | |
{ | |
public: | |
enum PermissionSpec { | |
ReadOwner = 00400, WriteOwner = 00200, ExeOwner = 00100, | |
ReadGroup = 00040, WriteGroup = 00020, ExeGroup = 00010, | |
ReadOther = 00004, WriteOther = 00002, ExeOther = 00001 }; | |
QUrlInfo(); | |
QUrlInfo(const QUrlInfo &ui); | |
QUrlInfo(const QString &name, int permissions, const QString &owner, | |
const QString &group, qint64 size, const QDateTime &lastModified, | |
const QDateTime &lastRead, bool isDir, bool isFile, bool isSymLink, | |
bool isWritable, bool isReadable, bool isExecutable); | |
QUrlInfo(const QUrl &url, int permissions, const QString &owner, | |
const QString &group, qint64 size, const QDateTime &lastModified, | |
const QDateTime &lastRead, bool isDir, bool isFile, bool isSymLink, | |
bool isWritable, bool isReadable, bool isExecutable); | |
QUrlInfo &operator=(const QUrlInfo &ui); | |
virtual ~QUrlInfo(); | |
virtual void setName(const QString &name); | |
virtual void setDir(bool b); | |
virtual void setFile(bool b); | |
virtual void setSymLink(bool b); | |
virtual void setOwner(const QString &s); | |
virtual void setGroup(const QString &s); | |
virtual void setSize(qint64 size); | |
virtual void setWritable(bool b); | |
virtual void setReadable(bool b); | |
virtual void setPermissions(int p); | |
virtual void setLastModified(const QDateTime &dt); | |
void setLastRead(const QDateTime &dt); | |
bool isValid() const; | |
QString name() const; | |
int permissions() const; | |
QString owner() const; | |
QString group() const; | |
qint64 size() const; | |
QDateTime lastModified() const; | |
QDateTime lastRead() const; | |
bool isDir() const; | |
bool isFile() const; | |
bool isSymLink() const; | |
bool isWritable() const; | |
bool isReadable() const; | |
bool isExecutable() const; | |
static bool greaterThan(const QUrlInfo &i1, const QUrlInfo &i2, | |
int sortBy); | |
static bool lessThan(const QUrlInfo &i1, const QUrlInfo &i2, | |
int sortBy); | |
static bool equal(const QUrlInfo &i1, const QUrlInfo &i2, | |
int sortBy); | |
bool operator==(const QUrlInfo &i) const; | |
inline bool operator!=(const QUrlInfo &i) const | |
{ return !operator==(i); } | |
private: | |
QUrlInfoPrivate *d; | |
}; | |
#endif // QT_NO_URLINFO | |
QT_END_NAMESPACE | |
QT_END_HEADER | |
#endif // QURLINFO_H |