author | andyq <andyq> | 2002-12-04 23:15:20 (UTC) |
---|---|---|
committer | andyq <andyq> | 2002-12-04 23:15:20 (UTC) |
commit | 35d40e65116cee8b430cdc586db187f81488aa1d (patch) (side-by-side diff) | |
tree | 7cc95fa6b0525f178734de42760b36e4208d00be | |
parent | 128343cd009009e42ce6bcdfd45a294c7ea44f83 (diff) | |
download | opie-35d40e65116cee8b430cdc586db187f81488aa1d.zip opie-35d40e65116cee8b430cdc586db187f81488aa1d.tar.gz opie-35d40e65116cee8b430cdc586db187f81488aa1d.tar.bz2 |
Added new method to get available space on a volume
-rw-r--r-- | noncore/settings/aqpkg/utils.cpp | 22 | ||||
-rw-r--r-- | noncore/settings/aqpkg/utils.h | 1 |
2 files changed, 23 insertions, 0 deletions
diff --git a/noncore/settings/aqpkg/utils.cpp b/noncore/settings/aqpkg/utils.cpp index 77d82d4..446ce39 100644 --- a/noncore/settings/aqpkg/utils.cpp +++ b/noncore/settings/aqpkg/utils.cpp @@ -12,12 +12,16 @@ * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ +#include <stdio.h> +#include <sys/vfs.h> +//#include <mntent.h> + #include "utils.h" #include "global.h" Utils :: Utils() { } @@ -69,6 +73,24 @@ QString Utils :: getPackageVersionFromIpkFilename( const QString &file ) p = name.find( "_" ) + 1; int p2 = name.find( "_", p ); QString version = name.mid( p, p2 - p ); return version; } + +bool Utils :: getStorageSpace( const char *path, long *blockSize, long *totalBlocks, long *availBlocks ) +{ + bool ret = false; + +// qDebug( "Reading from path %s", path ); + struct statfs fs; + if ( !statfs( path, &fs ) ) + { + *blockSize = fs.f_bsize; + *totalBlocks = fs.f_blocks; + *availBlocks = fs.f_bavail; + ret = true; + } + + return ret; +} + diff --git a/noncore/settings/aqpkg/utils.h b/noncore/settings/aqpkg/utils.h index 15ee4e6..c572f7b 100644 --- a/noncore/settings/aqpkg/utils.h +++ b/noncore/settings/aqpkg/utils.h @@ -30,9 +30,10 @@ public: ~Utils(); static QString getPathfromIpkFilename( const QString &file ); static QString getFilenameFromIpkFilename( const QString &file ); static QString getPackageNameFromIpkFilename( const QString &file ); static QString getPackageVersionFromIpkFilename( const QString &file ); + static bool getStorageSpace( const char *path, long *blockSize, long *totalBlocks, long *availBlocks ); }; #endif |