[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bugs-dist
Subject: [Bug 132281] Media mounting no longer works without HAL
From: Stephan Kulow <coolo () kde ! org>
Date: 2006-09-23 13:35:53
Message-ID: 20060923133553.10894.qmail () ktown ! kde ! org
[Download RAW message or body]
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
http://bugs.kde.org/show_bug.cgi?id=132281
coolo kde org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Additional Comments From coolo kde org 2006-09-23 15:35 -------
SVN commit 587626 by coolo:
adding a mount function to the fstab backend that can
be used without hal
BUG: 132281
M +23 -0 fstabbackend.cpp
M +4 -0 fstabbackend.h
M +11 -4 mediamanager.cpp
M +2 -0 mediamanager.h
--- branches/KDE/3.5/kdebase/kioslave/media/mediamanager/fstabbackend.cpp #587625:587626
@ -37,6 +37,9 @
#endif
#include <klocale.h>
+#include <kio/job.h>
+#include <kio/netaccess.h>
+#include <kdebug.h>
#include <kdirwatch.h>
#include <kurl.h>
#include <kmountpoint.h>
@ -94,6 +97,26 @
KDirWatch::self()->removeFile(MTAB);
}
+QString FstabBackend::mount( const QString &_udi )
+{
+ const Medium* medium = m_mediaList.findById(_udi);
+ if (!medium)
+ return i18n("No such medium: %1").arg(_udi);
+ KIO::Job* job = KIO::mount( false, 0, medium->deviceNode(), medium->mountPoint());
+ KIO::NetAccess::synchronousRun( job, 0 );
+ return QString::null;
+}
+
+QString FstabBackend::unmount( const QString &_udi )
+{
+ const Medium* medium = m_mediaList.findById(_udi);
+ if (!medium)
+ return i18n("No such medium: %1").arg(_udi);
+ KIO::Job* job = KIO::unmount( medium->mountPoint(), false);
+ KIO::NetAccess::synchronousRun( job, 0 );
+ return QString::null;
+}
+
void FstabBackend::slotDirty(const QString &path)
{
if (path==MTAB)
--- branches/KDE/3.5/kdebase/kioslave/media/mediamanager/fstabbackend.h #587625:587626
@ -41,6 +41,10 @
const QString &fsType, bool mounted,
QString &mimeType, QString &iconName,
QString &label);
+
+ QString mount(const QString &id);
+ QString unmount(const QString &id);
+
private slots:
void slotDirty(const QString &path);
void handleFstabChange(bool allowNotification = true);
--- branches/KDE/3.5/kdebase/kioslave/media/mediamanager/mediamanager.cpp #587625:587626
@ -77,6 +77,7 @
mp_removableBackend = 0L;
m_halbackend = 0L;
+ m_fstabbackend = 0L;
#ifdef COMPILE_HALBACKEND
if ( MediaManagerSettings::self()->halBackendEnabled() )
@ -85,7 +86,8 @
if (m_halbackend->InitHal())
{
m_backends.append( m_halbackend );
- m_backends.append( new FstabBackend(m_mediaList, true) );
+ m_fstabbackend = new FstabBackend(m_mediaList, true);
+ m_backends.append( m_fstabbackend );
// No need to load something else...
m_mediaList.blockSignals(false);
return;
@ -108,7 +110,8 @
}
#endif //COMPILE_LINUXCDPOLLING
- m_backends.append( new FstabBackend(m_mediaList) );
+ m_fstabbackend = new FstabBackend(m_mediaList);
+ m_backends.append( m_fstabbackend );
m_mediaList.blockSignals(false);
}
@ -206,7 +209,9 @
return i18n("Feature only available with HAL");
return m_halbackend->mount(name);
#else
- return i18n("Feature only available with HAL");
+ if ( !m_fstabbackend ) // lying :)
+ return i18n("Feature only available with HAL");
+ return m_fstabbackend->mount( name );
#endif
}
@ -217,7 +222,9 @
return i18n("Feature only available with HAL");
return m_halbackend->unmount(name);
#else
- return i18n("Feature only available with HAL");
+ if ( !m_fstabbackend ) // lying :)
+ return i18n("Feature only available with HAL");
+ return m_fstabbackend->unmount( name );
#endif
}
--- branches/KDE/3.5/kdebase/kioslave/media/mediamanager/mediamanager.h #587625:587626
@ -29,6 +29,7 @
#include "mediadirnotify.h"
class HALBackend;
+class FstabBackend;
class MediaManager : public KDEDModule
{
@ -83,6 +84,7 @
RemovableBackend *mp_removableBackend;
HALBackend *m_halbackend;
MediaDirNotify m_dirNotify;
+ FstabBackend *m_fstabbackend;
};
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic