summaryrefslogtreecommitdiffstats
path: root/kioslave/media/mediamanager/removablebackend.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kioslave/media/mediamanager/removablebackend.cpp')
-rw-r--r--kioslave/media/mediamanager/removablebackend.cpp180
1 files changed, 0 insertions, 180 deletions
diff --git a/kioslave/media/mediamanager/removablebackend.cpp b/kioslave/media/mediamanager/removablebackend.cpp
deleted file mode 100644
index 6b83ae1ea..000000000
--- a/kioslave/media/mediamanager/removablebackend.cpp
+++ /dev/null
@@ -1,180 +0,0 @@
-/* This file is part of the KDE Project
- Copyright (c) 2004 Kévin Ottens <ervin ipsquad net>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License version 2 as published by the Free Software Foundation.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include "removablebackend.h"
-
-#include <klocale.h>
-#include <kdirwatch.h>
-#include <kurl.h>
-#include <kmountpoint.h>
-#include <kstandarddirs.h>
-
-#ifdef _OS_SOLARIS_
-#define MTAB "/etc/mnttab"
-#else
-#define MTAB "/etc/mtab"
-#endif
-
-
-
-RemovableBackend::RemovableBackend(MediaList &list)
- : TQObject(), BackendBase(list)
-{
- KDirWatch::self()->addFile(MTAB);
-
- connect( KDirWatch::self(), TQT_SIGNAL( dirty(const TQString&) ),
- this, TQT_SLOT( slotDirty(const TQString&) ) );
- KDirWatch::self()->startScan();
-}
-
-RemovableBackend::~RemovableBackend()
-{
- TQStringList::iterator it = m_removableIds.begin();
- TQStringList::iterator end = m_removableIds.end();
-
- for (; it!=end; ++it)
- {
- m_mediaList.removeMedium(*it, false);
- }
-
- KDirWatch::self()->removeFile(MTAB);
-}
-
-bool RemovableBackend::plug(const TQString &devNode, const TQString &label)
-{
- TQString name = generateName(devNode);
- TQString id = generateId(devNode);
-
- if (!m_removableIds.contains(id))
- {
- Medium *medium = new Medium(id, id, name);
- medium->mountableState(devNode, TQString::null,
- TQString::null, false);
-
- TQStringList words = TQStringList::split(" ", label);
-
- TQStringList::iterator it = words.begin();
- TQStringList::iterator end = words.end();
-
- TQString tmp = (*it).lower();
- tmp[0] = tmp[0].upper();
- TQString new_label = tmp;
-
- ++it;
- for (; it!=end; ++it)
- {
- tmp = (*it).lower();
- tmp[0] = tmp[0].upper();
- new_label+= " "+tmp;
- }
-
- medium->setLabel(new_label);
- medium->setMimeType("media/removable_unmounted");
-
- m_removableIds.append(id);
- return !m_mediaList.addMedium(medium).isNull();
- }
- return false;
-}
-
-bool RemovableBackend::unplug(const TQString &devNode)
-{
- TQString id = generateId(devNode);
- if (m_removableIds.contains(id))
- {
- m_removableIds.remove(id);
- return m_mediaList.removeMedium(id);
- }
- return false;
-}
-
-bool RemovableBackend::camera(const TQString &devNode)
-{
- TQString id = generateId(devNode);
- if (m_removableIds.contains(id))
- {
- return m_mediaList.changeMediumState(id,
- TQString("camera:/"), false, "media/gphoto2camera");
- }
- return false;
-}
-
-void RemovableBackend::slotDirty(const TQString &path)
-{
- if (path==MTAB)
- {
- handleMtabChange();
- }
-}
-
-
-void RemovableBackend::handleMtabChange()
-{
- TQStringList new_mtabIds;
- KMountPoint::List mtab = KMountPoint::currentMountPoints();
-
- KMountPoint::List::iterator it = mtab.begin();
- KMountPoint::List::iterator end = mtab.end();
-
- for (; it!=end; ++it)
- {
- TQString dev = (*it)->mountedFrom();
- TQString mp = (*it)->mountPoint();
- TQString fs = (*it)->mountType();
-
- TQString id = generateId(dev);
- new_mtabIds+=id;
-
- if ( !m_mtabIds.contains(id)
- && m_removableIds.contains(id) )
- {
- m_mediaList.changeMediumState(id, dev, mp, fs, true,
- false, "media/removable_mounted");
- }
- }
-
- TQStringList::iterator it2 = m_mtabIds.begin();
- TQStringList::iterator end2 = m_mtabIds.end();
-
- for (; it2!=end2; ++it2)
- {
- if ( !new_mtabIds.contains(*it2)
- && m_removableIds.contains(*it2) )
- {
- m_mediaList.changeMediumState(*it2, false,
- false, "media/removable_unmounted");
- }
- }
-
- m_mtabIds = new_mtabIds;
-}
-
-TQString RemovableBackend::generateId(const TQString &devNode)
-{
- TQString dev = KStandardDirs::realFilePath(devNode);
-
- return "/org/kde/mediamanager/removable/"
- +dev.replace("/", "");
-}
-
-TQString RemovableBackend::generateName(const TQString &devNode)
-{
- return KURL(devNode).fileName();
-}
-
-#include "removablebackend.moc"