diff options
Diffstat (limited to 'tqtinterface/qt4/src/kernel/tqurlinfo.cpp')
-rw-r--r-- | tqtinterface/qt4/src/kernel/tqurlinfo.cpp | 761 |
1 files changed, 0 insertions, 761 deletions
diff --git a/tqtinterface/qt4/src/kernel/tqurlinfo.cpp b/tqtinterface/qt4/src/kernel/tqurlinfo.cpp deleted file mode 100644 index b0b2596..0000000 --- a/tqtinterface/qt4/src/kernel/tqurlinfo.cpp +++ /dev/null @@ -1,761 +0,0 @@ -/**************************************************************************** -** -** Implementation of TQUrlInfo class -** -** Created : 950429 -** -** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA. -** -** This file is part of the kernel module of the TQt GUI Toolkit. -** -** This file may be used under the terms of the GNU General -** Public License versions 2.0 or 3.0 as published by the Free -** Software Foundation and appearing in the files LICENSE.GPL2 -** and LICENSE.GPL3 included in the packaging of this file. -** Alternatively you may (at your option) use any later version -** of the GNU General Public License if such license has been -** publicly approved by Trolltech ASA (or its successors, if any) -** and the KDE Free TQt Foundation. -** -** Please review the following information to ensure GNU General -** Public Licensing requirements will be met: -** http://trolltech.com/products/qt/licenses/licensing/opensource/. -** If you are unsure which license is appropriate for your use, please -** review the following information: -** http://trolltech.com/products/qt/licenses/licensing/licensingoverview -** or contact the sales department at sales@trolltech.com. -** -** This file may be used under the terms of the Q Public License as -** defined by Trolltech ASA and appearing in the file LICENSE.TQPL -** included in the packaging of this file. Licensees holding valid TQt -** Commercial licenses may use this file in accordance with the TQt -** Commercial License Agreement provided with the Software. -** -** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, -** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted -** herein. -** -**********************************************************************/ - -#include "tqurlinfo.h" - -#ifndef TQT_NO_NETWORKPROTOCOL - -#include "tqurloperator.h" -#include "tqdir.h" -#include <limits.h> - -class TQUrlInfoPrivate -{ -public: - TQUrlInfoPrivate() : - permissions(0), - size(0), - isDir(FALSE), - isFile(TRUE), - isSymLink(FALSE), - isWritable(TRUE), - isReadable(TRUE), - isExecutable(FALSE) - {} - - TQString name; - int permissions; - TQString owner; - TQString group; -#if defined(TQT_LARGEFILE_SUPPORT) - TQIODevice::Offset size; -#else - uint size; -#endif - TQDateTime lastModified; - TQDateTime lastRead; - bool isDir; - bool isFile; - bool isSymLink; - bool isWritable; - bool isReadable; - bool isExecutable; -}; - - -/*! - \class TQUrlInfo tqurlinfo.h - \brief The TQUrlInfo class stores information about URLs. - - \ingroup io - \ingroup misc - - This class is just a container for storing information about URLs, - which is why all information must be passed in the constructor. - - Unless you're reimplementing a network protocol you're unlikely to - create TQUrlInfo objects yourself, but you may receive TQUrlInfo - objects from functions, e.g. TQUrlOperator::info(). - - The information that can be retrieved includes name(), - permissions(), owner(), group(), size(), lastModified(), - lastRead(), isDir(), isFile(), isSymLink(), isWritable(), - isReadable() and isExecutable(). -*/ - -/*! - \enum TQUrlInfo::PermissionSpec - - This enum is used by the permissions() function to report the - permissions of a file. - - \value ReadOwner The file is readable by the owner of the file. - \value WriteOwner The file is writable by the owner of the file. - \value ExeOwner The file is executable by the owner of the file. - \value ReadGroup The file is readable by the group. - \value WriteGroup The file is writable by the group. - \value ExeGroup The file is executable by the group. - \value ReadOther The file is readable by anyone. - \value WriteOther The file is writable by anyone. - \value ExeOther The file is executable by anyone. -*/ - -/*! - Constructs an invalid TQUrlInfo object with default values. - - \sa isValid() -*/ - -TQUrlInfo::TQUrlInfo() -{ - d = 0; -} - -/*! - Constructs a TQUrlInfo object with information about the file \a - file in the \a path. It tries to find the information about the \a - file in the TQUrlOperator \a path. - - If the information is not found, this constructor creates an - invalid TQUrlInfo, i.e. isValid() returns FALSE. You should always - check if the URL info is valid before relying on the return values - of any getter functions. - - If \a file is empty, it defaults to the TQUrlOperator \a path, i.e. - to the directory. - - \sa isValid() TQUrlOperator::info() -*/ - -TQUrlInfo::TQUrlInfo( const TQUrlOperator &path, const TQString &file ) -{ - TQString file_ = file; - if ( file_.isEmpty() ) - file_ = "."; - - TQUrlInfo inf = path.info( file_ ); - if ( inf.d ) { - d = new TQUrlInfoPrivate; - *d = *inf.d; - } else { - d = 0; - } -} - -/*! - Copy constructor, copies \a ui to this URL info object. -*/ - -TQUrlInfo::TQUrlInfo( const TQUrlInfo &ui ) -{ - if ( ui.d ) { - d = new TQUrlInfoPrivate; - *d = *ui.d; - } else { - d = 0; - } -} - -/*! - Constructs a TQUrlInfo object by specifying all the URL's - information. - - The information that is passed is the \a name, file \a - permissions, \a owner and \a group and the file's \a size. Also - passed is the \a lastModified date/time and the \a lastRead - date/time. Flags are also passed, specifically, \a isDir, \a - isFile, \a isSymLink, \a isWritable, \a isReadable and \a - isExecutable. -*/ - -#if defined(TQT_ABI_QT4) -TQUrlInfo::TQUrlInfo( const TQString &name, int permissions, const TQString &owner, - const TQString &group, TQIODevice::Offset size, const TQDateTime &lastModified, - const TQDateTime &lastRead, bool isDir, bool isFile, bool isSymLink, - bool isWritable, bool isReadable, bool isExecutable ) -#else -TQUrlInfo::TQUrlInfo( const TQString &name, int permissions, const TQString &owner, - const TQString &group, uint size, const TQDateTime &lastModified, - const TQDateTime &lastRead, bool isDir, bool isFile, bool isSymLink, - bool isWritable, bool isReadable, bool isExecutable ) -#endif -{ - d = new TQUrlInfoPrivate; - d->name = name; - d->permissions = permissions; - d->owner = owner; - d->group = group; - d->size = size; - d->lastModified = lastModified; - d->lastRead = lastRead; - d->isDir = isDir; - d->isFile = isFile; - d->isSymLink = isSymLink; - d->isWritable = isWritable; - d->isReadable = isReadable; - d->isExecutable = isExecutable; -} - - -/*! - Constructs a TQUrlInfo object by specifying all the URL's - information. - - The information that is passed is the \a url, file \a - permissions, \a owner and \a group and the file's \a size. Also - passed is the \a lastModified date/time and the \a lastRead - date/time. Flags are also passed, specifically, \a isDir, \a - isFile, \a isSymLink, \a isWritable, \a isReadable and \a - isExecutable. -*/ - -#if defined(TQT_ABI_QT4) -TQUrlInfo::TQUrlInfo( const TQUrl &url, int permissions, const TQString &owner, - const TQString &group, TQIODevice::Offset size, const TQDateTime &lastModified, - const TQDateTime &lastRead, bool isDir, bool isFile, bool isSymLink, - bool isWritable, bool isReadable, bool isExecutable ) -#else -TQUrlInfo::TQUrlInfo( const TQUrl &url, int permissions, const TQString &owner, - const TQString &group, uint size, const TQDateTime &lastModified, - const TQDateTime &lastRead, bool isDir, bool isFile, bool isSymLink, - bool isWritable, bool isReadable, bool isExecutable ) -#endif -{ - d = new TQUrlInfoPrivate; - d->name = TQFileInfo( url.path() ).fileName(); - d->permissions = permissions; - d->owner = owner; - d->group = group; - d->size = size; - d->lastModified = lastModified; - d->lastRead = lastRead; - d->isDir = isDir; - d->isFile = isFile; - d->isSymLink = isSymLink; - d->isWritable = isWritable; - d->isReadable = isReadable; - d->isExecutable = isExecutable; -} - - -/*! - Sets the name of the URL to \a name. The name is the full text, - for example, "http://doc.trolltech.com/tqurlinfo.html". - - If you call this function for an invalid URL info, this function - turns it into a valid one. - - \sa isValid() -*/ - -void TQUrlInfo::setName( const TQString &name ) -{ - if ( !d ) - d = new TQUrlInfoPrivate; - d->name = name; -} - - -/*! - If \a b is TRUE then the URL is set to be a directory; if \b is - FALSE then the URL is set not to be a directory (which normally - means it is a file). (Note that a URL can refer to both a file and - a directory even though most file systems do not support this.) - - If you call this function for an invalid URL info, this function - turns it into a valid one. - - \sa isValid() -*/ - -void TQUrlInfo::setDir( bool b ) -{ - if ( !d ) - d = new TQUrlInfoPrivate; - d->isDir = b; -} - - -/*! - If \a b is TRUE then the URL is set to be a file; if \b is FALSE - then the URL is set not to be a file (which normally means it is a - directory). (Note that a URL can refer to both a file and a - directory even though most file systems do not support this.) - - If you call this function for an invalid URL info, this function - turns it into a valid one. - - \sa isValid() -*/ - -void TQUrlInfo::setFile( bool b ) -{ - if ( !d ) - d = new TQUrlInfoPrivate; - d->isFile = b; -} - - -/*! - Specifies that the URL refers to a symbolic link if \a b is TRUE - and that it does not if \a b is FALSE. - - If you call this function for an invalid URL info, this function - turns it into a valid one. - - \sa isValid() -*/ - -void TQUrlInfo::setSymLink( bool b ) -{ - if ( !d ) - d = new TQUrlInfoPrivate; - d->isSymLink = b; -} - - -/*! - Specifies that the URL is writable if \a b is TRUE and not - writable if \a b is FALSE. - - If you call this function for an invalid URL info, this function - turns it into a valid one. - - \sa isValid() -*/ - -void TQUrlInfo::setWritable( bool b ) -{ - if ( !d ) - d = new TQUrlInfoPrivate; - d->isWritable = b; -} - - -/*! - Specifies that the URL is readable if \a b is TRUE and not - readable if \a b is FALSE. - - If you call this function for an invalid URL info, this function - turns it into a valid one. - - \sa isValid() -*/ - -void TQUrlInfo::setReadable( bool b ) -{ - if ( !d ) - d = new TQUrlInfoPrivate; - d->isReadable = b; -} - -/*! - Specifies that the owner of the URL is called \a s. - - If you call this function for an invalid URL info, this function - turns it into a valid one. - - \sa isValid() -*/ - -void TQUrlInfo::setOwner( const TQString &s ) -{ - if ( !d ) - d = new TQUrlInfoPrivate; - d->owner = s; -} - -/*! - Specifies that the owning group of the URL is called \a s. - - If you call this function for an invalid URL info, this function - turns it into a valid one. - - \sa isValid() -*/ - -void TQUrlInfo::setGroup( const TQString &s ) -{ - if ( !d ) - d = new TQUrlInfoPrivate; - d->group = s; -} - -/*! - Specifies the \a size of the URL. - - If you call this function for an invalid URL info, this function - turns it into a valid one. - - \sa isValid() -*/ - -#if defined(TQT_ABI_QT4) -void TQUrlInfo::setSize( TQIODevice::Offset size ) -#else -void TQUrlInfo::setSize( uint size ) -#endif -{ - if ( !d ) - d = new TQUrlInfoPrivate; - d->size = size; -} - - -// ### reggie - what's the permission type? As in Unix? - -/*! - Specifies that the URL has access permisions, \a p. - - If you call this function for an invalid URL info, this function - turns it into a valid one. - - \sa isValid() -*/ - -void TQUrlInfo::setPermissions( int p ) -{ - if ( !d ) - d = new TQUrlInfoPrivate; - d->permissions = p; -} - -/*! - Specifies that the object the URL refers to was last modified at - \a dt. - - If you call this function for an invalid URL info, this function - turns it into a valid one. - - \sa isValid() -*/ - -void TQUrlInfo::setLastModified( const TQDateTime &dt ) -{ - if ( !d ) - d = new TQUrlInfoPrivate; - d->lastModified = dt; -} - -/*! - Destroys the URL info object. - - The TQUrlOperator object to which this URL referred (if any) is not - affected. -*/ - -TQUrlInfo::~TQUrlInfo() -{ - delete d; -} - -/*! - Assigns the values of \a ui to this TQUrlInfo object. -*/ - -TQUrlInfo &TQUrlInfo::operator=( const TQUrlInfo &ui ) -{ - if ( ui.d ) { - if ( !d ) - d= new TQUrlInfoPrivate; - *d = *ui.d; - } else { - delete d; - d = 0; - } - return *this; -} - -/*! - Returns the file name of the URL. - - \sa isValid() -*/ - -TQString TQUrlInfo::name() const -{ - if ( !d ) - return TQString::null; - return d->name; -} - -/*! - Returns the permissions of the URL. You can use the \c PermissionSpec flags - to test for certain permissions. - - \sa isValid() -*/ - -int TQUrlInfo::permissions() const -{ - if ( !d ) - return 0; - return d->permissions; -} - -/*! - Returns the owner of the URL. - - \sa isValid() -*/ - -TQString TQUrlInfo::owner() const -{ - if ( !d ) - return TQString::null; - return d->owner; -} - -/*! - Returns the group of the URL. - - \sa isValid() -*/ - -TQString TQUrlInfo::group() const -{ - if ( !d ) - return TQString::null; - return d->group; -} - -/*! - Returns the size of the URL. - - \sa isValid() -*/ - -#if defined(TQT_ABI_QT4) -TQIODevice::Offset TQUrlInfo::size() const -#else -uint TQUrlInfo::size() const -#endif -{ - if ( !d ) - return 0; -#if defined(TQT_LARGEFILE_SUPPORT) && !defined(TQT_ABI_QT4) - return d->size > UINT_MAX ? UINT_MAX : (uint)d->size; -#else - return d->size; -#endif -} - -/*! - Returns the last modification date of the URL. - - \sa isValid() -*/ - -TQDateTime TQUrlInfo::lastModified() const -{ - if ( !d ) - return TQDateTime(); - return d->lastModified; -} - -/*! - Returns the date when the URL was last read. - - \sa isValid() -*/ - -TQDateTime TQUrlInfo::lastRead() const -{ - if ( !d ) - return TQDateTime(); - return d->lastRead; -} - -/*! - Returns TRUE if the URL is a directory; otherwise returns FALSE. - - \sa isValid() -*/ - -bool TQUrlInfo::isDir() const -{ - if ( !d ) - return FALSE; - return d->isDir; -} - -/*! - Returns TRUE if the URL is a file; otherwise returns FALSE. - - \sa isValid() -*/ - -bool TQUrlInfo::isFile() const -{ - if ( !d ) - return FALSE; - return d->isFile; -} - -/*! - Returns TRUE if the URL is a symbolic link; otherwise returns FALSE. - - \sa isValid() -*/ - -bool TQUrlInfo::isSymLink() const -{ - if ( !d ) - return FALSE; - return d->isSymLink; -} - -/*! - Returns TRUE if the URL is writable; otherwise returns FALSE. - - \sa isValid() -*/ - -bool TQUrlInfo::isWritable() const -{ - if ( !d ) - return FALSE; - return d->isWritable; -} - -/*! - Returns TRUE if the URL is readable; otherwise returns FALSE. - - \sa isValid() -*/ - -bool TQUrlInfo::isReadable() const -{ - if ( !d ) - return FALSE; - return d->isReadable; -} - -/*! - Returns TRUE if the URL is executable; otherwise returns FALSE. - - \sa isValid() -*/ - -bool TQUrlInfo::isExecutable() const -{ - if ( !d ) - return FALSE; - return d->isExecutable; -} - -/*! - Returns TRUE if \a i1 is greater than \a i2; otherwise returns - FALSE. The objects are compared by the value, which is specified - by \a sortBy. This must be one of TQDir::Name, TQDir::Time or - TQDir::Size. -*/ - -bool TQUrlInfo::greaterThan( const TQUrlInfo &i1, const TQUrlInfo &i2, - int sortBy ) -{ - switch ( sortBy ) { - case TQDir::Name: - return i1.name() > i2.name(); - case TQDir::Time: - return i1.lastModified() > i2.lastModified(); - case TQDir::Size: - return i1.size() > i2.size(); - default: - return FALSE; - } -} - -/*! - Returns TRUE if \a i1 is less than \a i2; otherwise returns FALSE. - The objects are compared by the value, which is specified by \a - sortBy. This must be one of TQDir::Name, TQDir::Time or TQDir::Size. -*/ - -bool TQUrlInfo::lessThan( const TQUrlInfo &i1, const TQUrlInfo &i2, - int sortBy ) -{ - return !greaterThan( i1, i2, sortBy ); -} - -/*! - Returns TRUE if \a i1 equals to \a i2; otherwise returns FALSE. - The objects are compared by the value, which is specified by \a - sortBy. This must be one of TQDir::Name, TQDir::Time or TQDir::Size. -*/ - -bool TQUrlInfo::equal( const TQUrlInfo &i1, const TQUrlInfo &i2, - int sortBy ) -{ - switch ( sortBy ) { - case TQDir::Name: - return i1.name() == i2.name(); - case TQDir::Time: - return i1.lastModified() == i2.lastModified(); - case TQDir::Size: - return i1.size() == i2.size(); - default: - return FALSE; - } -} - -/*! - Compares this TQUrlInfo with \a i and returns TRUE if they are - equal; otherwise returns FALSE. -*/ - -bool TQUrlInfo::operator==( const TQUrlInfo &i ) const -{ - if ( !d ) - return i.d == 0; - if ( !i.d ) - return FALSE; - - return ( d->name == i.d->name && - d->permissions == i.d->permissions && - d->owner == i.d->owner && - d->group == i.d->group && - d->size == i.d->size && - d->lastModified == i.d->lastModified && - d->lastRead == i.d->lastRead && - d->isDir == i.d->isDir && - d->isFile == i.d->isFile && - d->isSymLink == i.d->isSymLink && - d->isWritable == i.d->isWritable && - d->isReadable == i.d->isReadable && - d->isExecutable == i.d->isExecutable ); -} - -/*! - Returns TRUE if the URL info is valid; otherwise returns FALSE. - Valid means that the TQUrlInfo contains real information. For - example, a call to TQUrlOperator::info() might return a an invalid - TQUrlInfo, if no information about the requested entry is - available. - - You should always check if the URL info is valid before relying on - the values. -*/ -bool TQUrlInfo::isValid() const -{ - return d != 0; -} - -#endif // TQT_NO_NETWORKPROTOCOL |