kdiskfreesp.h

00001 /*
00002  * kdiskfreesp.h
00003  *
00004  * Copyright (c) 1999 Michael Kropfberger <michael.kropfberger@gmx.net>
00005  *
00006  * Requires the Qt widget libraries, available at no cost at
00007  * http://www.troll.no/
00008  *
00009  *
00010  *  This library is free software; you can redistribute it and/or
00011  *  modify it under the terms of the GNU Library General Public
00012  *  License version 2 as published by the Free Software Foundation.
00013  *
00014  *  This library is distributed in the hope that it will be useful,
00015  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017  *  Library General Public License for more details.
00018  *
00019  *  You should have received a copy of the GNU Library General Public License
00020  *  along with this library; see the file COPYING.LIB.  If not, write to
00021  *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00022  *  Boston, MA 02110-1301, USA.
00023  */
00024 
00025 
00026 #ifndef __KDISKFREESP_H__
00027 #define __KDISKFREESP_H__
00028 
00029 #include <qobject.h>
00030 #include <qstring.h>
00031 
00032 #include <kdelibs_export.h>
00033 
00034 class KProcess;
00035 
00040 class KIO_EXPORT KDiskFreeSp : public QObject
00041 {  Q_OBJECT
00042 public:
00043    KDiskFreeSp( QObject *parent=0, const char *name=0 );
00047    ~KDiskFreeSp();
00054    int readDF( const QString & mountPoint );
00055 
00063    static KDiskFreeSp * findUsageInfo( const QString & path );
00064 
00065 signals:
00066    void foundMountPoint( const QString & mountPoint, unsigned long kBSize, unsigned long kBUsed, unsigned long kBAvail );
00067 
00068    // This one is a hack around a weird (compiler?) bug. In the former signal,
00069    // the slot in KPropsDlg would get 0L, 0L as the last two parameters.
00070    // When using const ulong& instead, all is ok.
00071    void foundMountPoint( const unsigned long&, const unsigned long&, const unsigned long&, const QString& );
00072    void done();
00073 
00074 private slots:
00075    void receivedDFStdErrOut(KProcess *, char *data, int len);
00076    void dfDone();
00077 
00078 private:
00079   KProcess         *dfProc;
00080   QCString          dfStringErrOut;
00081   QString           m_mountPoint;
00082   bool              readingDFStdErrOut;
00083   class KDiskFreeSpPrivate;
00084   KDiskFreeSpPrivate * d;
00085 };
00086 /***************************************************************************/
00087 
00088 
00089 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys