summaryrefslogtreecommitdiffstats
path: root/qtools/qfileinfo_win32.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qtools/qfileinfo_win32.cpp')
-rw-r--r--qtools/qfileinfo_win32.cpp357
1 files changed, 0 insertions, 357 deletions
diff --git a/qtools/qfileinfo_win32.cpp b/qtools/qfileinfo_win32.cpp
deleted file mode 100644
index 1061fae..0000000
--- a/qtools/qfileinfo_win32.cpp
+++ /dev/null
@@ -1,357 +0,0 @@
-/******************************************************************************
- *
- *
- *
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation under the terms of the GNU General Public License is hereby
- * granted. No representations are made about the suitability of this software
- * for any purpose. It is provided "as is" without express or implied warranty.
- * See the GNU General Public License for more details.
- *
- * Documents produced by Doxygen are derivative works derived from the
- * input used in their production; they are not affected by this license.
- *
- * Based on qfileinfo_unix.cpp
- *
- * Copyright (C) 1992-2000 Trolltech AS.
- */
-
-#include "qglobal.h"
-
-#include "qfileinfo.h"
-#include "qfiledefs_p.h"
-#include "qdatetime.h"
-#include "qdir.h"
-
-static void reslashify( QString& n )
-{
- for ( int i=0; i<(int)n.length(); i++ )
- {
- if ( n[i] == '/' )
- n[i] = '\\';
- }
-}
-
-void QFileInfo::slashify( QString& n )
-{
- for ( int i=0; i<(int)n.length(); i++ )
- {
- if ( n[i] == '\\' )
- n[i] = '/';
- }
-}
-
-void QFileInfo::makeAbs( QString & )
-{
- // TODO: what to do here?
- return;
-}
-
-extern bool qt_file_access( const QString& fn, int t );
-
-/*!
- Returns TRUE if we are pointing to a real file.
- \sa isDir(), isSymLink()
-*/
-bool QFileInfo::isFile() const
-{
- if ( !fic || !cache )
- doStat();
- return fic ? (fic->st.st_mode & STAT_MASK) == STAT_REG : FALSE;
-}
-
-/*!
- Returns TRUE if we are pointing to a directory or a symbolic link to
- a directory.
- \sa isFile(), isSymLink()
-*/
-
-bool QFileInfo::isDir() const
-{
- if ( !fic || !cache )
- doStat();
- return fic ? (fic->st.st_mode & STAT_MASK) == STAT_DIR : FALSE;
-}
-
-/*!
- Returns TRUE if we are pointing to a symbolic link.
- \sa isFile(), isDir(), readLink()
-*/
-
-bool QFileInfo::isSymLink() const
-{
- if ( !fic || !cache )
- doStat();
- return fic ? fic->isSymLink : FALSE;
-}
-
-
-/*!
- Returns the name a symlink points to, or a null QString if the
- object does not refer to a symbolic link.
-
- This name may not represent an existing file; it is only a string.
- QFileInfo::exists() returns TRUE if the symlink points to an
- existing file.
-
- \sa exists(), isSymLink(), isDir(), isFile()
-*/
-
-QString QFileInfo::readLink() const
-{
- QString r;
- return r;
-}
-
-static const uint nobodyID = (uint) -2;
-
-/*!
- Returns the owner of the file.
-
- On systems where files do not have owners this function returns
- a null string.
-
- Note that this function can be time-consuming under UNIX. (in the order
- of milliseconds on a 486 DX2/66 running Linux).
-
- \sa ownerId(), group(), groupId()
-*/
-
-QString QFileInfo::owner() const
-{
- return QString::null;
-}
-
-/*!
- Returns the id of the owner of the file.
-
- On systems where files do not have owners this function returns ((uint) -2).
-
- \sa owner(), group(), groupId()
-*/
-
-uint QFileInfo::ownerId() const
-{
- return (uint)-2;
-}
-
-/*!
- Returns the group the file belongs to.
-
- On systems where files do not have groups this function always
- returns 0.
-
- Note that this function can be time-consuming under UNIX (in the order of
- milliseconds on a 486 DX2/66 running Linux).
-
- \sa groupId(), owner(), ownerId()
-*/
-
-QString QFileInfo::group() const
-{
- return QString::null;
-}
-
-/*!
- Returns the id of the group the file belongs to.
-
- On systems where files do not have groups this function always
- returns ((uind) -2).
-
- \sa group(), owner(), ownerId()
-*/
-
-uint QFileInfo::groupId() const
-{
- return (uint)-2;
-}
-
-
-/*!
- \fn bool QFileInfo::permission( int permissionSpec ) const
-
- Tests for file permissions. The \e permissionSpec argument can be several
- flags of type PermissionSpec or'ed together to check for permission
- combinations.
-
- On systems where files do not have permissions this function always
- returns TRUE.
-
- Example:
- \code
- QFileInfo fi( "/tmp/tonsils" );
- if ( fi.permission( QFileInfo::WriteUser | QFileInfo::ReadGroup ) )
- qWarning( "Tonsils can be changed by me, and the group can read them.");
- if ( fi.permission( QFileInfo::WriteGroup | QFileInfo::WriteOther ) )
- qWarning( "Danger! Tonsils can be changed by the group or others!" );
- \endcode
-
- \sa isReadable(), isWritable(), isExecutable()
-*/
-
-bool QFileInfo::permission( int permissionSpec ) const
-{
- return TRUE;
-}
-
-/*!
- Returns the file size in bytes, or 0 if the file does not exist if the size
- cannot be fetched.
-*/
-
-uint QFileInfo::size() const
-{
- if ( !fic || !cache )
- doStat();
- if ( fic )
- return (uint)fic->st.st_size;
- else
- return 0;
-}
-
-
-/*!
- Returns the date and time when the file was last modified.
- \sa lastRead()
-*/
-
-QDateTime QFileInfo::lastModified() const
-{
- QDateTime dt;
- if ( !fic || !cache )
- doStat();
- if ( fic )
- dt.setTime_t( fic->st.st_mtime );
- return dt;
-}
-
-/*!
- Returns the date and time when the file was last read (accessed).
-
- On systems that do not support last read times, the modification time is
- returned.
-
- \sa lastModified()
-*/
-
-QDateTime QFileInfo::lastRead() const
-{
- QDateTime dt;
- if ( !fic || !cache )
- doStat();
- if ( fic )
- dt.setTime_t( fic->st.st_atime );
- return dt;
-}
-
-
-void QFileInfo::doStat() const
-{
- QFileInfo *that = ((QFileInfo*)this); // mutable function
- if ( !that->fic )
- that->fic = new QFileInfoCache;
- STATBUF *b = &that->fic->st;
- that->fic->isSymLink = FALSE;
-
-#if defined(__CYGWIN32_)
- int r;
-
- r = STAT( QFile::encodeName(fn), b );
-
- if ( r != 0 ) {
- delete that->fic;
- that->fic = 0;
- }
-#else
- QString file = fn;
- file = QDir::cleanDirPath(file);
- reslashify(file);
-#ifdef QT_LARGEFILE_SUPPORT
- if ( _wstati64( (wchar_t*) file.ucs2(), b ) == -1 ) {
-#else
- if ( _wstat( (wchar_t*) file.ucs2(), b ) == -1 ) {
-#endif
- delete that->fic;
- that->fic = 0;
- }
-#endif
-}
-
-/*!
- Returns the directory path of the file.
-
- If \e absPath is TRUE an absolute path is always returned.
-
- \sa dir(), filePath(), fileName(), isRelative()
-*/
-#ifndef QT_NO_DIR
-QString QFileInfo::dirPath( bool absPath ) const
-{
- QString s;
- if ( absPath )
- s = absFilePath();
- else
- s = fn;
- int pos = s.findRev( '/' );
- if ( pos == -1 ) {
- return QString::fromLatin1(".");
- } else {
- if ( pos == 0 )
- return QString::fromLatin1( "/" );
- return s.left( pos );
- }
-}
-#endif
-/*!
- Returns the name of the file, the file path is not included.
-
- Example:
- \code
- QFileInfo fi( "/tmp/abdomen.lower" );
- QString name = fi.fileName(); // name = "abdomen.lower"
- \endcode
-
- \sa isRelative(), filePath(), baseName(), extension()
-*/
-
-QString QFileInfo::fileName() const
-{
- int p = fn.findRev( '/' );
- if ( p == -1 ) {
- return fn;
- } else {
- return fn.mid(p+1);
- }
-}
-
-/*!
- Returns the absolute path name.
-
- The absolute path name is the file name including the absolute path. If
- the QFileInfo is absolute (i.e. not relative) this function will return
- the same string as filePath().
-
- Note that this function can be time-consuming under UNIX. (in the order
- of milliseconds on a 486 DX2/66 running Linux).
-
- \sa isRelative(), filePath()
-*/
-#ifndef QT_NO_DIR
-QString QFileInfo::absFilePath() const
-{
- if ( QDir::isRelativePath(fn) ) {
- QString tmp = QDir::currentDirPath();
- tmp += '/';
- tmp += fn;
- makeAbs( tmp );
- return QDir::cleanDirPath( tmp );
- } else {
- QString tmp = fn;
- makeAbs( tmp );
- return QDir::cleanDirPath( tmp );
- }
-
-}
-#endif