author | llornkcor <llornkcor> | 2003-03-26 02:06:21 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2003-03-26 02:06:21 (UTC) |
commit | a76176911328349414203edda3785ac8925c0648 (patch) (unidiff) | |
tree | 30e345d6c458b3dc2f0fd06fe900d4b7203e902f /library/storage.cpp | |
parent | f50d60ad220bbaf76e6cbcb07caf5bed037311d5 (diff) | |
download | opie-a76176911328349414203edda3785ac8925c0648.zip opie-a76176911328349414203edda3785ac8925c0648.tar.gz opie-a76176911328349414203edda3785ac8925c0648.tar.bz2 |
add static isCf, isSd, and isMmc
-rw-r--r-- | library/storage.cpp | 61 |
1 files changed, 60 insertions, 1 deletions
diff --git a/library/storage.cpp b/library/storage.cpp index a7c466d..912b22d 100644 --- a/library/storage.cpp +++ b/library/storage.cpp | |||
@@ -1,11 +1,12 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) Holger 'zecke' Freyther <freyther@kde.org> | 2 | ** Copyright (C) Holger 'zecke' Freyther <freyther@kde.org> |
3 | ** Copyright (C) Lorn Potter <llornkcor@handhelds.org> | ||
3 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. | 4 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. |
4 | ** | 5 | ** |
5 | ** This file is part of Qtopia Environment. | 6 | ** This file is part of Opie Environment. |
6 | ** | 7 | ** |
7 | ** This file may be distributed and/or modified under the terms of the | 8 | ** This file may be distributed and/or modified under the terms of the |
8 | ** GNU General Public License version 2 as published by the Free Software | 9 | ** GNU General Public License version 2 as published by the Free Software |
9 | ** Foundation and appearing in the file LICENSE.GPL included in the | 10 | ** Foundation and appearing in the file LICENSE.GPL included in the |
10 | ** packaging of this file. | 11 | ** packaging of this file. |
11 | ** | 12 | ** |
@@ -34,12 +35,16 @@ | |||
34 | #include <sys/vfs.h> | 35 | #include <sys/vfs.h> |
35 | #include <mntent.h> | 36 | #include <mntent.h> |
36 | #endif | 37 | #endif |
37 | 38 | ||
38 | #include <qstringlist.h> | 39 | #include <qstringlist.h> |
39 | 40 | ||
41 | #include <sys/vfs.h> | ||
42 | #include <mntent.h> | ||
43 | |||
44 | |||
40 | static bool isCF(const QString& m) | 45 | static bool isCF(const QString& m) |
41 | { | 46 | { |
42 | FILE* f = fopen("/var/run/stab", "r"); | 47 | FILE* f = fopen("/var/run/stab", "r"); |
43 | if (!f) f = fopen("/var/state/pcmcia/stab", "r"); | 48 | if (!f) f = fopen("/var/state/pcmcia/stab", "r"); |
44 | if (!f) f = fopen("/var/lib/pcmcia/stab", "r"); | 49 | if (!f) f = fopen("/var/lib/pcmcia/stab", "r"); |
45 | if ( f ) { | 50 | if ( f ) { |
@@ -171,12 +176,66 @@ void StorageInfo::update() | |||
171 | for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i) | 176 | for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i) |
172 | i.current()->update(); | 177 | i.current()->update(); |
173 | } | 178 | } |
174 | #endif | 179 | #endif |
175 | } | 180 | } |
176 | 181 | ||
182 | bool deviceTab( const char *device) { | ||
183 | QString name = device; | ||
184 | bool hasDevice=false; | ||
185 | struct mntent *me; | ||
186 | FILE *mntfp = setmntent( "/etc/mtab", "r" ); | ||
187 | if ( mntfp ) { | ||
188 | while ( (me = getmntent( mntfp )) != 0 ) { | ||
189 | QString deviceName = me->mnt_fsname; | ||
190 | // qDebug(deviceName); | ||
191 | if( deviceName.left(name.length()) == name) { | ||
192 | hasDevice = true; | ||
193 | } | ||
194 | } | ||
195 | } | ||
196 | endmntent( mntfp ); | ||
197 | return hasDevice; | ||
198 | } | ||
199 | |||
200 | /*! | ||
201 | * @fn hasCf() | ||
202 | * @brief returns whether device has Cf mounted | ||
203 | * | ||
204 | */ | ||
205 | bool StorageInfo::hasCf() | ||
206 | { | ||
207 | return deviceTab("/dev/hd"); | ||
208 | } | ||
209 | |||
210 | /*! | ||
211 | * @fn hasSd() | ||
212 | * @brief returns whether device has SD mounted | ||
213 | * | ||
214 | */ | ||
215 | bool StorageInfo::hasSd() | ||
216 | { | ||
217 | return deviceTab("/dev/mmcd"); | ||
218 | } | ||
219 | |||
220 | /*! | ||
221 | * @fn hasMmc() | ||
222 | * @brief reutrns whether device has mmc mounted | ||
223 | * | ||
224 | */ | ||
225 | bool StorageInfo::hasMmc() | ||
226 | { | ||
227 | bool hasMmc=false; | ||
228 | if( deviceTab("/dev/mmc/part")) | ||
229 | hasMmc=true; | ||
230 | if( deviceTab("/dev/mmcd")) | ||
231 | hasMmc=true; | ||
232 | return hasMmc; | ||
233 | } | ||
234 | |||
235 | |||
177 | //--------------------------------------------------------------------------- | 236 | //--------------------------------------------------------------------------- |
178 | 237 | ||
179 | FileSystem::FileSystem( const QString &disk, const QString &path, const QString &name, bool rem, const QString &o ) | 238 | FileSystem::FileSystem( const QString &disk, const QString &path, const QString &name, bool rem, const QString &o ) |
180 | : fsdisk( disk ), fspath( path ), humanname( name ), blkSize(512), totalBlks(0), availBlks(0), removable( rem ), opts( o ) | 239 | : fsdisk( disk ), fspath( path ), humanname( name ), blkSize(512), totalBlks(0), availBlks(0), removable( rem ), opts( o ) |
181 | { | 240 | { |
182 | update(); | 241 | update(); |