summaryrefslogtreecommitdiff
path: root/library
authorar <ar>2004-01-07 20:22:49 (UTC)
committer ar <ar>2004-01-07 20:22:49 (UTC)
commitdd56d03c7a07ad1cf4f715ba22cbbf6b3d8392e8 (patch) (side-by-side diff)
tree92c625add3c9d24e65c1550bc5449420a85342ce /library
parent24a62e8789083f446138aebfa11409b73886aa88 (diff)
downloadopie-dd56d03c7a07ad1cf4f715ba22cbbf6b3d8392e8.zip
opie-dd56d03c7a07ad1cf4f715ba22cbbf6b3d8392e8.tar.gz
opie-dd56d03c7a07ad1cf4f715ba22cbbf6b3d8392e8.tar.bz2
new functions getCfPath, getSdPath, getMmcPath returns mountpoints
Diffstat (limited to 'library') (more/less context) (show whitespace changes)
-rw-r--r--library/storage.cpp139
-rw-r--r--library/storage.h4
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
@@ -57,13 +57,16 @@ static bool isCF(const QString& m)
if (!f) f = fopen("/var/state/pcmcia/stab", "r");
if (!f) f = fopen("/var/lib/pcmcia/stab", "r");
- if ( f ) {
+ if ( f )
+ {
char line[1024];
char devtype[80];
char devname[80];
- while ( fgets( line, 1024, f ) ) {
+ while ( fgets( line, 1024, f ) )
+ {
// 0 ide ide-cs 0 hda 3 0
if ( sscanf(line,"%*d %s %*s %*s %s", devtype, devname )==2 )
{
- if ( QString(devtype) == "ide" && m.find(devname)>0 ) {
+ if ( QString(devtype) == "ide" && m.find(devname)>0 )
+ {
fclose(f);
return TRUE;
@@ -107,5 +110,6 @@ StorageInfo::StorageInfo( QObject *parent )
const FileSystem *StorageInfo::fileSystemOf( const QString &filename )
{
- for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i) {
+ for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i)
+ {
if ( filename.startsWith( (*i)->path() ) )
return (*i);
@@ -140,6 +144,8 @@ void StorageInfo::update()
bool rebuild = FALSE;
int n=0;
- if ( mntfp ) {
- while ( (me = getmntent( mntfp )) != 0 ) {
+ if ( mntfp )
+ {
+ while ( (me = getmntent( mntfp )) != 0 )
+ {
QString fs = me->mnt_fsname;
if ( fs.left(7)=="/dev/hd" || fs.left(7)=="/dev/sd"
@@ -154,6 +160,8 @@ void StorageInfo::update()
curfs.append( me->mnt_dir );
bool found = FALSE;
- for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i) {
- if ( (*i)->disk() == fs ) {
+ for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i)
+ {
+ if ( (*i)->disk() == fs )
+ {
found = TRUE;
break;
@@ -166,10 +174,12 @@ void StorageInfo::update()
endmntent( mntfp );
}
- if ( rebuild || n != (int)mFileSystems.count() ) {
+ if ( rebuild || n != (int)mFileSystems.count() )
+ {
mFileSystems.clear();
QStringList::ConstIterator it=curdisks.begin();
QStringList::ConstIterator fsit=curfs.begin();
QStringList::ConstIterator optsIt=curopts.begin();
- for (; it!=curdisks.end(); ++it, ++fsit, ++optsIt) {
+ for (; it!=curdisks.end(); ++it, ++fsit, ++optsIt)
+ {
QString opts = *optsIt;
@@ -177,16 +187,24 @@ void StorageInfo::update()
QString humanname;
bool removable = FALSE;
- if ( isCF(disk) ) {
+ if ( isCF(disk) )
+ {
humanname = tr("CF Card");
removable = TRUE;
- } else if ( disk == "/dev/hda1" ) {
+ }
+ else if ( disk == "/dev/hda1" )
+ {
humanname = tr("Hard Disk");
- } else if ( disk.left(9) == "/dev/mmcd" ) {
+ }
+ else if ( disk.left(9) == "/dev/mmcd" )
+ {
humanname = tr("SD Card");
removable = TRUE;
- } else if ( disk.left( 14 ) == "/dev/mmc/part1" ) {
+ }
+ else if ( disk.left( 14 ) == "/dev/mmc/part1" )
+ {
humanname = tr("MMC Card");
removable = TRUE;
- } else if ( disk.left(7) == "/dev/hd" )
+ }
+ else if ( disk.left(7) == "/dev/hd" )
humanname = tr("Hard Disk") + " " + disk;
else if ( disk.left(7) == "/dev/sd" )
@@ -208,5 +226,7 @@ void StorageInfo::update()
}
emit disksChanged();
- } else {
+ }
+ else
+ {
// just update them
for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i)
@@ -216,5 +236,6 @@ void StorageInfo::update()
}
-bool deviceTab( const char *device) {
+bool deviceTab( const char *device)
+{
QString name = device;
bool hasDevice=false;
@@ -224,9 +245,11 @@ bool deviceTab( const char *device) {
struct statfs** mntbufp;
int count = 0;
- if ( ( count = getmntinfo( mntbufp, MNT_WAIT ) ) == 0 ){
+ if ( ( count = getmntinfo( mntbufp, MNT_WAIT ) ) == 0 )
+ {
qWarning("deviceTab: Error in getmntinfo(): %s",strerror( errno ) );
hasDevice = false;
}
- for( int i = 0; i < count; i++ ){
+ for( int i = 0; i < count; i++ )
+ {
QString deviceName = mntbufp[i]->f_mntfromname;
qDebug(deviceName);
@@ -238,9 +261,12 @@ bool deviceTab( const char *device) {
struct mntent *me;
FILE *mntfp = setmntent( "/etc/mtab", "r" );
- if ( mntfp ) {
- while ( (me = getmntent( mntfp )) != 0 ) {
+ if ( mntfp )
+ {
+ while ( (me = getmntent( mntfp )) != 0 )
+ {
QString deviceName = me->mnt_fsname;
// qDebug(deviceName);
- if( deviceName.left(name.length()) == name) {
+ if( deviceName.left(name.length()) == name)
+ {
hasDevice = true;
}
@@ -276,5 +302,5 @@ bool StorageInfo::hasSd()
/*!
* @fn static bool StorageInfo::hasMmc()
- * @brief reutrns whether device has mmc mounted
+ * @brief returns whether device has mmc mounted
*
*/
@@ -289,4 +315,64 @@ bool StorageInfo::hasMmc()
}
+/*!
+* @fn QString StorageInfo::getCfPath()
+* @brief returns the Mount-Path of Cf Card
+*
+*/
+QString StorageInfo::getCfPath()
+{
+ QString r = "";
+
+ for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i)
+ {
+ if ( (*i)->disk().left( 8 ) == "/dev/hda" )
+ {
+ r = (*i)->path();
+ break;
+ }
+ }
+ return r;
+}
+
+/*!
+* @fn QString StorageInfo::getSdPath()
+* @brief returns the Mount-Path of Sd Card
+*
+*/
+QString StorageInfo::getSdPath()
+{
+ QString r = "";
+
+ for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i)
+ {
+ if ( (*i)->disk().left( 9 ) == "/dev/mmcd" )
+ {
+ r = (*i)->path();
+ break;
+ }
+ }
+ return r;
+}
+
+/*!
+* @fn QString StorageInfo::getMmcPath()
+* @brief returns the Mount-Path of Mmc Card
+*
+*/
+QString StorageInfo::getMmcPath()
+{
+ QString r = "";
+
+ for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i)
+ {
+ if ( (*i)->disk().left( 14 ) == "/dev/mmc/part1" )
+ {
+ r = (*i)->path();
+ break;
+ }
+ }
+ return r;
+}
+
/*! \fn const QList<FileSystem> &StorageInfo::fileSystems() const
Returns a list of all available mounted file systems.
@@ -311,9 +397,12 @@ void FileSystem::update()
#if defined(_OS_LINUX_) || defined(Q_OS_LINUX)
struct statfs fs;
- if ( !statfs( fspath.latin1(), &fs ) ) {
+ if ( !statfs( fspath.latin1(), &fs ) )
+ {
blkSize = fs.f_bsize;
totalBlks = fs.f_blocks;
availBlks = fs.f_bavail;
- } else {
+ }
+ else
+ {
blkSize = 0;
totalBlks = 0;
diff --git a/library/storage.h b/library/storage.h
index 0a0698f..35a1109 100644
--- a/library/storage.h
+++ b/library/storage.h
@@ -38,4 +38,8 @@ public:
static bool hasSd();
static bool hasMmc();
+
+ QString getCfPath();
+ QString getSdPath();
+ QString getMmcPath();
signals:
void disksChanged();