author | ar <ar> | 2004-01-07 20:22:49 (UTC) |
---|---|---|
committer | ar <ar> | 2004-01-07 20:22:49 (UTC) |
commit | dd56d03c7a07ad1cf4f715ba22cbbf6b3d8392e8 (patch) (unidiff) | |
tree | 92c625add3c9d24e65c1550bc5449420a85342ce | |
parent | 24a62e8789083f446138aebfa11409b73886aa88 (diff) | |
download | opie-dd56d03c7a07ad1cf4f715ba22cbbf6b3d8392e8.zip opie-dd56d03c7a07ad1cf4f715ba22cbbf6b3d8392e8.tar.gz opie-dd56d03c7a07ad1cf4f715ba22cbbf6b3d8392e8.tar.bz2 |
new functions getCfPath, getSdPath, getMmcPath returns mountpoints
-rw-r--r-- | library/storage.cpp | 139 | ||||
-rw-r--r-- | library/storage.h | 4 |
2 files changed, 118 insertions, 25 deletions
diff --git a/library/storage.cpp b/library/storage.cpp index f8b75d0..657fb71 100644 --- a/library/storage.cpp +++ b/library/storage.cpp | |||
@@ -58,3 +58,4 @@ static bool isCF(const QString& m) | |||
58 | if (!f) f = fopen("/var/lib/pcmcia/stab", "r"); | 58 | if (!f) f = fopen("/var/lib/pcmcia/stab", "r"); |
59 | if ( f ) { | 59 | if ( f ) |
60 | { | ||
60 | char line[1024]; | 61 | char line[1024]; |
@@ -62,3 +63,4 @@ static bool isCF(const QString& m) | |||
62 | char devname[80]; | 63 | char devname[80]; |
63 | while ( fgets( line, 1024, f ) ) { | 64 | while ( fgets( line, 1024, f ) ) |
65 | { | ||
64 | // 0 ide ide-cs 0 hda 3 0 | 66 | // 0 ide ide-cs 0 hda 3 0 |
@@ -66,3 +68,4 @@ static bool isCF(const QString& m) | |||
66 | { | 68 | { |
67 | if ( QString(devtype) == "ide" && m.find(devname)>0 ) { | 69 | if ( QString(devtype) == "ide" && m.find(devname)>0 ) |
70 | { | ||
68 | fclose(f); | 71 | fclose(f); |
@@ -108,3 +111,4 @@ const FileSystem *StorageInfo::fileSystemOf( const QString &filename ) | |||
108 | { | 111 | { |
109 | for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i) { | 112 | for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i) |
113 | { | ||
110 | if ( filename.startsWith( (*i)->path() ) ) | 114 | if ( filename.startsWith( (*i)->path() ) ) |
@@ -141,4 +145,6 @@ void StorageInfo::update() | |||
141 | int n=0; | 145 | int n=0; |
142 | if ( mntfp ) { | 146 | if ( mntfp ) |
143 | while ( (me = getmntent( mntfp )) != 0 ) { | 147 | { |
148 | while ( (me = getmntent( mntfp )) != 0 ) | ||
149 | { | ||
144 | QString fs = me->mnt_fsname; | 150 | QString fs = me->mnt_fsname; |
@@ -155,4 +161,6 @@ void StorageInfo::update() | |||
155 | bool found = FALSE; | 161 | bool found = FALSE; |
156 | for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i) { | 162 | for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i) |
157 | if ( (*i)->disk() == fs ) { | 163 | { |
164 | if ( (*i)->disk() == fs ) | ||
165 | { | ||
158 | found = TRUE; | 166 | found = TRUE; |
@@ -167,3 +175,4 @@ void StorageInfo::update() | |||
167 | } | 175 | } |
168 | if ( rebuild || n != (int)mFileSystems.count() ) { | 176 | if ( rebuild || n != (int)mFileSystems.count() ) |
177 | { | ||
169 | mFileSystems.clear(); | 178 | mFileSystems.clear(); |
@@ -172,3 +181,4 @@ void StorageInfo::update() | |||
172 | QStringList::ConstIterator optsIt=curopts.begin(); | 181 | QStringList::ConstIterator optsIt=curopts.begin(); |
173 | for (; it!=curdisks.end(); ++it, ++fsit, ++optsIt) { | 182 | for (; it!=curdisks.end(); ++it, ++fsit, ++optsIt) |
183 | { | ||
174 | QString opts = *optsIt; | 184 | QString opts = *optsIt; |
@@ -178,14 +188,22 @@ void StorageInfo::update() | |||
178 | bool removable = FALSE; | 188 | bool removable = FALSE; |
179 | if ( isCF(disk) ) { | 189 | if ( isCF(disk) ) |
190 | { | ||
180 | humanname = tr("CF Card"); | 191 | humanname = tr("CF Card"); |
181 | removable = TRUE; | 192 | removable = TRUE; |
182 | } else if ( disk == "/dev/hda1" ) { | 193 | } |
194 | else if ( disk == "/dev/hda1" ) | ||
195 | { | ||
183 | humanname = tr("Hard Disk"); | 196 | humanname = tr("Hard Disk"); |
184 | } else if ( disk.left(9) == "/dev/mmcd" ) { | 197 | } |
198 | else if ( disk.left(9) == "/dev/mmcd" ) | ||
199 | { | ||
185 | humanname = tr("SD Card"); | 200 | humanname = tr("SD Card"); |
186 | removable = TRUE; | 201 | removable = TRUE; |
187 | } else if ( disk.left( 14 ) == "/dev/mmc/part1" ) { | 202 | } |
203 | else if ( disk.left( 14 ) == "/dev/mmc/part1" ) | ||
204 | { | ||
188 | humanname = tr("MMC Card"); | 205 | humanname = tr("MMC Card"); |
189 | removable = TRUE; | 206 | removable = TRUE; |
190 | } else if ( disk.left(7) == "/dev/hd" ) | 207 | } |
208 | else if ( disk.left(7) == "/dev/hd" ) | ||
191 | humanname = tr("Hard Disk") + " " + disk; | 209 | humanname = tr("Hard Disk") + " " + disk; |
@@ -209,3 +227,5 @@ void StorageInfo::update() | |||
209 | emit disksChanged(); | 227 | emit disksChanged(); |
210 | } else { | 228 | } |
229 | else | ||
230 | { | ||
211 | // just update them | 231 | // just update them |
@@ -217,3 +237,4 @@ void StorageInfo::update() | |||
217 | 237 | ||
218 | bool deviceTab( const char *device) { | 238 | bool deviceTab( const char *device) |
239 | { | ||
219 | QString name = device; | 240 | QString name = device; |
@@ -225,3 +246,4 @@ bool deviceTab( const char *device) { | |||
225 | int count = 0; | 246 | int count = 0; |
226 | if ( ( count = getmntinfo( mntbufp, MNT_WAIT ) ) == 0 ){ | 247 | if ( ( count = getmntinfo( mntbufp, MNT_WAIT ) ) == 0 ) |
248 | { | ||
227 | qWarning("deviceTab: Error in getmntinfo(): %s",strerror( errno ) ); | 249 | qWarning("deviceTab: Error in getmntinfo(): %s",strerror( errno ) ); |
@@ -229,3 +251,4 @@ bool deviceTab( const char *device) { | |||
229 | } | 251 | } |
230 | for( int i = 0; i < count; i++ ){ | 252 | for( int i = 0; i < count; i++ ) |
253 | { | ||
231 | QString deviceName = mntbufp[i]->f_mntfromname; | 254 | QString deviceName = mntbufp[i]->f_mntfromname; |
@@ -239,7 +262,10 @@ bool deviceTab( const char *device) { | |||
239 | FILE *mntfp = setmntent( "/etc/mtab", "r" ); | 262 | FILE *mntfp = setmntent( "/etc/mtab", "r" ); |
240 | if ( mntfp ) { | 263 | if ( mntfp ) |
241 | while ( (me = getmntent( mntfp )) != 0 ) { | 264 | { |
265 | while ( (me = getmntent( mntfp )) != 0 ) | ||
266 | { | ||
242 | QString deviceName = me->mnt_fsname; | 267 | QString deviceName = me->mnt_fsname; |
243 | // qDebug(deviceName); | 268 | // qDebug(deviceName); |
244 | if( deviceName.left(name.length()) == name) { | 269 | if( deviceName.left(name.length()) == name) |
270 | { | ||
245 | hasDevice = true; | 271 | hasDevice = true; |
@@ -277,3 +303,3 @@ bool StorageInfo::hasSd() | |||
277 | * @fn static bool StorageInfo::hasMmc() | 303 | * @fn static bool StorageInfo::hasMmc() |
278 | * @brief reutrns whether device has mmc mounted | 304 | * @brief returns whether device has mmc mounted |
279 | * | 305 | * |
@@ -290,2 +316,62 @@ bool StorageInfo::hasMmc() | |||
290 | 316 | ||
317 | /*! | ||
318 | * @fn QString StorageInfo::getCfPath() | ||
319 | * @brief returns the Mount-Path of Cf Card | ||
320 | * | ||
321 | */ | ||
322 | QString StorageInfo::getCfPath() | ||
323 | { | ||
324 | QString r = ""; | ||
325 | |||
326 | for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i) | ||
327 | { | ||
328 | if ( (*i)->disk().left( 8 ) == "/dev/hda" ) | ||
329 | { | ||
330 | r = (*i)->path(); | ||
331 | break; | ||
332 | } | ||
333 | } | ||
334 | return r; | ||
335 | } | ||
336 | |||
337 | /*! | ||
338 | * @fn QString StorageInfo::getSdPath() | ||
339 | * @brief returns the Mount-Path of Sd Card | ||
340 | * | ||
341 | */ | ||
342 | QString StorageInfo::getSdPath() | ||
343 | { | ||
344 | QString r = ""; | ||
345 | |||
346 | for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i) | ||
347 | { | ||
348 | if ( (*i)->disk().left( 9 ) == "/dev/mmcd" ) | ||
349 | { | ||
350 | r = (*i)->path(); | ||
351 | break; | ||
352 | } | ||
353 | } | ||
354 | return r; | ||
355 | } | ||
356 | |||
357 | /*! | ||
358 | * @fn QString StorageInfo::getMmcPath() | ||
359 | * @brief returns the Mount-Path of Mmc Card | ||
360 | * | ||
361 | */ | ||
362 | QString StorageInfo::getMmcPath() | ||
363 | { | ||
364 | QString r = ""; | ||
365 | |||
366 | for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i) | ||
367 | { | ||
368 | if ( (*i)->disk().left( 14 ) == "/dev/mmc/part1" ) | ||
369 | { | ||
370 | r = (*i)->path(); | ||
371 | break; | ||
372 | } | ||
373 | } | ||
374 | return r; | ||
375 | } | ||
376 | |||
291 | /*! \fn const QList<FileSystem> &StorageInfo::fileSystems() const | 377 | /*! \fn const QList<FileSystem> &StorageInfo::fileSystems() const |
@@ -312,3 +398,4 @@ void FileSystem::update() | |||
312 | struct statfs fs; | 398 | struct statfs fs; |
313 | if ( !statfs( fspath.latin1(), &fs ) ) { | 399 | if ( !statfs( fspath.latin1(), &fs ) ) |
400 | { | ||
314 | blkSize = fs.f_bsize; | 401 | blkSize = fs.f_bsize; |
@@ -316,3 +403,5 @@ void FileSystem::update() | |||
316 | availBlks = fs.f_bavail; | 403 | availBlks = fs.f_bavail; |
317 | } else { | 404 | } |
405 | else | ||
406 | { | ||
318 | blkSize = 0; | 407 | blkSize = 0; |
diff --git a/library/storage.h b/library/storage.h index 0a0698f..35a1109 100644 --- a/library/storage.h +++ b/library/storage.h | |||
@@ -39,2 +39,6 @@ public: | |||
39 | static bool hasMmc(); | 39 | static bool hasMmc(); |
40 | |||
41 | QString getCfPath(); | ||
42 | QString getSdPath(); | ||
43 | QString getMmcPath(); | ||
40 | signals: | 44 | signals: |