summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tdeioslave/media/libmediacommon/medium.cpp202
-rw-r--r--tdeioslave/media/libmediacommon/medium.h96
-rw-r--r--tdeioslave/media/mediaimpl.cpp1
-rw-r--r--tdeioslave/media/mediamanager/fstabbackend.cpp12
-rw-r--r--tdeioslave/media/mediamanager/halbackend.cpp82
-rw-r--r--tdeioslave/media/mediamanager/medialist.cpp44
-rw-r--r--tdeioslave/media/mediamanager/removablebackend.cpp7
-rw-r--r--tdeioslave/media/mediamanager/tdehardwarebackend.cpp106
8 files changed, 301 insertions, 249 deletions
diff --git a/tdeioslave/media/libmediacommon/medium.cpp b/tdeioslave/media/libmediacommon/medium.cpp
index 77e32ba0f..7ded6f0f1 100644
--- a/tdeioslave/media/libmediacommon/medium.cpp
+++ b/tdeioslave/media/libmediacommon/medium.cpp
@@ -23,68 +23,57 @@
const TQString Medium::SEPARATOR = "---";
+void Medium::initMedium()
+{
+ m_properties.clear();
+ m_properties += TQString::null; // ID
+ m_properties += TQString::null; // UUID
+ m_properties += TQString::null; // NAME
+ m_properties += TQString::null; // LABEL
+ m_properties += TQString::null; // USER_LABEL
+ m_properties += "false"; // MOUNTABLE
+ m_properties += TQString::null; // DEVICE_NODE
+ m_properties += TQString::null; // MOUNT_POINT
+ m_properties += TQString::null; // FS_TYPE
+ m_properties += "false"; // MOUNTED
+ m_properties += TQString::null; // BASE_URL
+ m_properties += TQString::null; // MIME_TYPE
+ m_properties += TQString::null; // ICON_NAME
+ m_properties += "false"; // ENCRYPTED
+ m_properties += TQString::null; // CLEAR_DEVICE_UDI
+ m_properties += "false"; // HIDDEN
+ m_properties += "false"; // SOFT_HIDDEN
+}
+
Medium::Medium(const TQString id, TQString uuid, const TQString name)
{
- m_properties+= id; /* ID */
- m_properties+= uuid; /* UUID */
- m_properties+= name; /* NAME */
- m_properties+= name; /* LABEL */
- m_properties+= TQString::null; /* USER_LABEL */
-
- m_properties+= "false"; /* MOUNTABLE */
- m_properties+= TQString::null; /* DEVICE_NODE */
- m_properties+= TQString::null; /* MOUNT_POINT */
- m_properties+= TQString::null; /* FS_TYPE */
- m_properties+= "false"; /* MOUNTED */
- m_properties+= TQString::null; /* BASE_URL */
- m_properties+= TQString::null; /* MIME_TYPE */
- m_properties+= TQString::null; /* ICON_NAME */
- m_properties+= "false"; /* ENCRYPTED */
- m_properties+= TQString::null; /* CLEAR_DEVICE_UDI */
- m_properties+= "false"; /* HIDDEN */
- m_properties+= "false"; /* SOFT_HIDDEN */
-
- loadUserLabel();
-
- m_halmounted = false;
+ initMedium();
+ if (!id.isEmpty() && !uuid.isEmpty())
+ {
+ m_properties[ID] = id;
+ m_properties[UUID] = uuid;
+ m_properties[NAME] = name;
+ m_properties[LABEL] = name;
+ loadUserLabel();
+ }
}
Medium::Medium()
{
- m_properties+= TQString::null; /* ID */
- m_properties+= TQString::null; /* UUID */
- m_properties+= TQString::null; /* NAME */
- m_properties+= TQString::null; /* LABEL */
- m_properties+= TQString::null; /* USER_LABEL */
-
- m_properties+= TQString::null; /* MOUNTABLE */
- m_properties+= TQString::null; /* DEVICE_NODE */
- m_properties+= TQString::null; /* MOUNT_POINT */
- m_properties+= TQString::null; /* FS_TYPE */
- m_properties+= TQString::null; /* MOUNTED */
- m_properties+= TQString::null; /* BASE_URL */
- m_properties+= TQString::null; /* MIME_TYPE */
- m_properties+= TQString::null; /* ICON_NAME */
- m_properties+= TQString::null; /* ENCRYPTED */
- m_properties+= TQString::null; /* CLEAR_DEVICE_UDI */
- m_properties+= "false"; /* HIDDEN */
- m_properties+= "false"; /* SOFT_HIDDEN */
-
- m_halmounted = false;
+ initMedium();
}
const Medium Medium::create(const TQStringList &properties)
{
Medium m;
- if ( properties.size() >= PROPERTIES_COUNT )
+ if (properties.size() >= PROPERTIES_COUNT)
{
m.m_properties[ID] = properties[ID];
m.m_properties[UUID] = properties[UUID];
m.m_properties[NAME] = properties[NAME];
m.m_properties[LABEL] = properties[LABEL];
m.m_properties[USER_LABEL] = properties[USER_LABEL];
-
m.m_properties[MOUNTABLE] = properties[MOUNTABLE];
m.m_properties[DEVICE_NODE] = properties[DEVICE_NODE];
m.m_properties[MOUNT_POINT] = properties[MOUNT_POINT];
@@ -106,13 +95,12 @@ Medium::MList Medium::createList(const TQStringList &properties)
{
MList l;
- if ( properties.size() % (PROPERTIES_COUNT+1) == 0)
+ if (properties.size() % (PROPERTIES_COUNT+1) == 0)
{
- int media_count = properties.size()/(PROPERTIES_COUNT+1);
-
+ int media_count = properties.size() / (PROPERTIES_COUNT + 1);
TQStringList props = properties;
- for(int i=0; i<media_count; i++)
+ for (int i=0; i < media_count; i++)
{
const Medium m = create(props);
l.append(m);
@@ -127,7 +115,6 @@ Medium::MList Medium::createList(const TQStringList &properties)
return l;
}
-
void Medium::setName(const TQString &name)
{
m_properties[NAME] = name;
@@ -138,35 +125,22 @@ void Medium::setLabel(const TQString &label)
m_properties[LABEL] = label;
}
-void Medium::setEncrypted(bool state)
-{
- m_properties[ENCRYPTED] = ( state ? "true" : "false" );
-}
-
-void Medium::setHidden(bool state)
-{
- m_properties[HIDDEN] = ( state ? "true" : "false" );
-}
-
-void Medium::setSoftHidden(bool state)
-{
- m_properties[SOFT_HIDDEN] = ( state ? "true" : "false" );
-}
-
void Medium::setUserLabel(const TQString &label)
{
TDEConfig cfg("mediamanagerrc");
cfg.setGroup("UserLabels");
TQString entry_name = m_properties[UUID];
-
- if ( label.isNull() )
- {
- cfg.deleteEntry(entry_name);
- }
- else
+ if (!entry_name.isEmpty())
{
- cfg.writeEntry(entry_name, label);
+ if (label.isEmpty())
+ {
+ cfg.deleteEntry(entry_name);
+ }
+ else
+ {
+ cfg.writeEntry(entry_name, label);
+ }
}
m_properties[USER_LABEL] = label;
@@ -178,10 +152,9 @@ void Medium::loadUserLabel()
cfg.setGroup("UserLabels");
TQString entry_name = m_properties[UUID];
-
- if ( cfg.hasKey(entry_name) )
+ if (!entry_name.isEmpty())
{
- m_properties[USER_LABEL] = cfg.readEntry(entry_name);
+ m_properties[USER_LABEL] = cfg.readEntry(entry_name, TQString::null);
}
else
{
@@ -189,48 +162,38 @@ void Medium::loadUserLabel()
}
}
-
-bool Medium::mountableState(bool mounted)
+void Medium::setMountable(bool mountable)
{
- if ( m_properties[DEVICE_NODE].isEmpty()
- || ( mounted && m_properties[MOUNT_POINT].isEmpty() ) )
+ m_properties[MOUNTABLE] = mountable ? "true" : "false";
+ if (!mountable)
{
- return false;
+ setMountPoint(TQString::null);
+ setMounted(false);
}
-
- m_properties[MOUNTABLE] = "true";
- m_properties[MOUNTED] = ( mounted ? "true" : "false" );
-
- return true;
}
-void Medium::mountableState(const TQString &deviceNode,
- const TQString &mountPoint,
- const TQString &fsType, bool mounted)
+void Medium::setDeviceNode(const TQString &deviceNode)
{
- m_properties[MOUNTABLE] = "true";
m_properties[DEVICE_NODE] = deviceNode;
- m_properties[MOUNT_POINT] = mountPoint;
- m_properties[FS_TYPE] = fsType;
- m_properties[MOUNTED] = ( mounted ? "true" : "false" );
}
-void Medium::mountableState(const TQString &deviceNode,
- const TQString &clearDeviceUdi,
- const TQString &mountPoint,
- const TQString &fsType, bool mounted)
+void Medium::setMountPoint(const TQString &mountPoint)
{
- m_properties[MOUNTABLE] = "true";
- m_properties[DEVICE_NODE] = deviceNode;
- m_properties[CLEAR_DEVICE_UDI] = clearDeviceUdi;
m_properties[MOUNT_POINT] = mountPoint;
+}
+
+void Medium::setFsType(const TQString &fsType)
+{
m_properties[FS_TYPE] = fsType;
- m_properties[MOUNTED] = ( mounted ? "true" : "false" );
}
-void Medium::unmountableState(const TQString &baseURL)
+void Medium::setMounted(bool mounted)
+{
+ m_properties[MOUNTED] = mounted ? "true" : "false";
+}
+
+void Medium::setBaseURL(const TQString &baseURL)
{
- m_properties[MOUNTABLE] = "false";
m_properties[BASE_URL] = baseURL;
}
@@ -244,6 +207,26 @@ void Medium::setIconName(const TQString &iconName)
m_properties[ICON_NAME] = iconName;
}
+void Medium::setEncrypted(bool state)
+{
+ m_properties[ENCRYPTED] = ( state ? "true" : "false" );
+}
+
+void Medium::setClearDeviceUdi(const TQString &clearDeviceUdi)
+{
+ m_properties[CLEAR_DEVICE_UDI] = clearDeviceUdi;
+}
+
+void Medium::setHidden(bool state)
+{
+ m_properties[HIDDEN] = ( state ? "true" : "false" );
+}
+
+void Medium::setSoftHidden(bool state)
+{
+ m_properties[SOFT_HIDDEN] = ( state ? "true" : "false" );
+}
+
bool Medium::needMounting() const
{
return isMountable() && !isMounted();
@@ -256,21 +239,20 @@ bool Medium::needDecryption() const
KURL Medium::prettyBaseURL() const
{
- if ( !baseURL().isEmpty() )
- return baseURL();
+ if (!baseURL().isEmpty())
+ {
+ return baseURL();
+ }
- return KURL( mountPoint() );
+ return KURL(mountPoint());
}
TQString Medium::prettyLabel() const
{
- if ( !userLabel().isEmpty() )
+ if (!userLabel().isEmpty())
{
return userLabel();
}
- else
- {
- return label();
- }
-}
+ return label();
+}
diff --git a/tdeioslave/media/libmediacommon/medium.h b/tdeioslave/media/libmediacommon/medium.h
index bf465fd09..7e7f2b04a 100644
--- a/tdeioslave/media/libmediacommon/medium.h
+++ b/tdeioslave/media/libmediacommon/medium.h
@@ -29,24 +29,24 @@ class Medium
public:
typedef TQValueList<Medium> MList;
- static const uint ID = 0;
- static const uint UUID = 1;
- static const uint NAME = 2;
- static const uint LABEL = 3;
- static const uint USER_LABEL = 4;
- static const uint MOUNTABLE = 5;
- static const uint DEVICE_NODE = 6;
- static const uint MOUNT_POINT = 7;
- static const uint FS_TYPE = 8;
- static const uint MOUNTED = 9;
- static const uint BASE_URL = 10;
- static const uint MIME_TYPE = 11;
- static const uint ICON_NAME = 12;
- static const uint ENCRYPTED = 13;
- static const uint CLEAR_DEVICE_UDI = 14;
- static const uint HIDDEN = 15;
- static const uint SOFT_HIDDEN = 16;
- static const uint PROPERTIES_COUNT = 17;
+ static const uint ID = 0;
+ static const uint UUID = 1;
+ static const uint NAME = 2;
+ static const uint LABEL = 3;
+ static const uint USER_LABEL = 4;
+ static const uint MOUNTABLE = 5;
+ static const uint DEVICE_NODE = 6;
+ static const uint MOUNT_POINT = 7;
+ static const uint FS_TYPE = 8;
+ static const uint MOUNTED = 9;
+ static const uint BASE_URL = 10;
+ static const uint MIME_TYPE = 11;
+ static const uint ICON_NAME = 12;
+ static const uint ENCRYPTED = 13;
+ static const uint CLEAR_DEVICE_UDI = 14;
+ static const uint HIDDEN = 15;
+ static const uint SOFT_HIDDEN = 16;
+ static const uint PROPERTIES_COUNT = 17;
static const TQString SEPARATOR;
Medium(const TQString id, TQString uuid, const TQString name);
@@ -60,18 +60,18 @@ public:
TQString name() const { return m_properties[NAME]; }
TQString label() const { return m_properties[LABEL]; }
TQString userLabel() const { return m_properties[USER_LABEL]; }
- bool isMountable() const { return m_properties[MOUNTABLE]=="true"; }
+ bool isMountable() const { return m_properties[MOUNTABLE]=="true"; }
TQString deviceNode() const { return m_properties[DEVICE_NODE]; }
TQString mountPoint() const { return m_properties[MOUNT_POINT]; }
TQString fsType() const { return m_properties[FS_TYPE]; }
- bool isMounted() const { return m_properties[MOUNTED]=="true"; }
+ bool isMounted() const { return m_properties[MOUNTED]=="true"; }
TQString baseURL() const { return m_properties[BASE_URL]; }
TQString mimeType() const { return m_properties[MIME_TYPE]; }
TQString iconName() const { return m_properties[ICON_NAME]; }
- bool isEncrypted() const { return m_properties[ENCRYPTED]=="true"; };
+ bool isEncrypted() const { return m_properties[ENCRYPTED]=="true"; };
TQString clearDeviceUdi() const { return m_properties[CLEAR_DEVICE_UDI]; };
- bool hidden() const { return m_properties[HIDDEN]=="true"; };
- bool softHidden() const { return m_properties[SOFT_HIDDEN]=="true"; };
+ bool hidden() const { return m_properties[HIDDEN]=="true"; };
+ bool softHidden() const { return m_properties[SOFT_HIDDEN]=="true"; };
bool needMounting() const;
bool needDecryption() const;
@@ -81,50 +81,44 @@ public:
void setName(const TQString &name);
void setLabel(const TQString &label);
void setUserLabel(const TQString &label);
+ void setMountable(bool mountable);
+ void setDeviceNode(const TQString &deviceNode);
+ void setMountPoint(const TQString &mountPoint);
+ void setFsType(const TQString &fsType);
+ void setMounted(bool mounted);
+ void setBaseURL(const TQString &baseURL);
+ void setMimeType(const TQString &mimeType);
+ void setIconName(const TQString &iconName);
void setEncrypted(bool state);
+ void setClearDeviceUdi(const TQString &clearDeviceUdi);
void setHidden(bool state);
void setSoftHidden(bool state);
- bool mountableState(bool mounted);
- void mountableState(const TQString &deviceNode,
- const TQString &mountPoint,
- const TQString &fsType, bool mounted);
- void mountableState(const TQString &deviceNode,
- const TQString &clearDeviceUdi,
- const TQString &mountPoint,
- const TQString &fsType, bool mounted);
- void unmountableState(const TQString &baseURL = TQString::null);
-
- void setMimeType(const TQString &mimeType);
- void setIconName(const TQString &iconName);
- void setHalMounted(bool flag) const { m_halmounted = flag; }
- bool halMounted() const { return m_halmounted; }
-
-//private:
Medium();
private:
+ void initMedium();
void loadUserLabel();
TQStringList m_properties;
- mutable bool m_halmounted;
-friend class TQValueListNode<const Medium>;
+ friend class TQValueListNode<const Medium>;
};
namespace MediaManagerUtils {
- static inline TQMap<TQString,TQString> splitOptions(const TQStringList & options)
- {
- TQMap<TQString,TQString> valids;
-
- for (TQStringList::ConstIterator it = options.begin(); it != options.end(); ++it)
+ static inline TQMap<TQString,TQString> splitOptions(const TQStringList &options)
{
- TQString key = (*it).left((*it).find('='));
- TQString value = (*it).mid((*it).find('=') + 1);
- valids[key] = value;
+ TQMap<TQString,TQString> valids;
+
+ for (TQStringList::ConstIterator it = options.begin(); it != options.end(); ++it)
+ {
+ int pos = (*it).find('=');
+ TQString key = (*it).left(pos);
+ TQString value = (*it).mid(pos + 1);
+ valids[key] = value;
+ }
+ return valids;
}
- return valids;
- }
}
#endif
diff --git a/tdeioslave/media/mediaimpl.cpp b/tdeioslave/media/mediaimpl.cpp
index b92757f90..dc839c4a0 100644
--- a/tdeioslave/media/mediaimpl.cpp
+++ b/tdeioslave/media/mediaimpl.cpp
@@ -127,7 +127,6 @@ bool MediaImpl::statMediumByLabel(const TQString &label, TDEIO::UDSEntry &entry)
return statMedium(name, entry);
}
-
bool MediaImpl::listMedia(TQValueList<TDEIO::UDSEntry> &list)
{
kdDebug(1219) << "MediaImpl::listMedia" << endl;
diff --git a/tdeioslave/media/mediamanager/fstabbackend.cpp b/tdeioslave/media/mediamanager/fstabbackend.cpp
index 8eca21771..acd1dced2 100644
--- a/tdeioslave/media/mediamanager/fstabbackend.cpp
+++ b/tdeioslave/media/mediamanager/fstabbackend.cpp
@@ -220,7 +220,11 @@ void FstabBackend::handleMtabChange(bool allowNotification)
Medium *m = new Medium(id, name);
- m->mountableState(dev, mp, fs, true);
+ m->setMountable(true);
+ m->setDeviceNode(dev);
+ m->setMountPoint(mp);
+ m->setFsType(fs);
+ m->setMounted(true);
TQString mime, icon, label;
guess(dev, mp, fs, true, mime, icon, label);
@@ -293,7 +297,11 @@ void FstabBackend::handleFstabChange(bool allowNotification)
Medium *m = new Medium(id, id, name);
- m->mountableState(dev, mp, fs, false);
+ m->setMountable(true);
+ m->setDeviceNode(dev);
+ m->setMountPoint(mp);
+ m->setFsType(fs);
+ m->setMounted(false);
TQString mime, icon, label;
guess(dev, mp, fs, false, mime, icon, label);
diff --git a/tdeioslave/media/mediamanager/halbackend.cpp b/tdeioslave/media/mediamanager/halbackend.cpp
index b6f35c997..e05b5c3e8 100644
--- a/tdeioslave/media/mediamanager/halbackend.cpp
+++ b/tdeioslave/media/mediamanager/halbackend.cpp
@@ -516,28 +516,32 @@ void HALBackend::setVolumeProperties(Medium* medium)
}
if (halClearVolume)
- medium->mountableState(
- libhal_volume_get_device_file(halVolume), /* Device node */
- clearUdiString,
- libhal_volume_get_mount_point(halClearVolume), /* Mount point */
- libhal_volume_get_fstype(halClearVolume), /* Filesystem type */
- libhal_volume_is_mounted(halClearVolume) ); /* Mounted ? */
+ {
+ medium->setMountable(true);
+ medium->setDeviceNode(libhal_volume_get_device_file(halVolume));
+ medium->setClearDeviceUdi(clearUdiString);
+ medium->setMountPoint(libhal_volume_get_mount_point(halClearVolume));
+ medium->setFsType(libhal_volume_get_fstype(halClearVolume));
+ medium->setMounted(libhal_volume_is_mounted(halClearVolume));
+ }
else
- medium->mountableState(
- libhal_volume_get_device_file(halVolume), /* Device node */
- TQString::null,
- TQString::null, /* Mount point */
- TQString::null, /* Filesystem type */
- false ); /* Mounted ? */
+ {
+ medium->setMountable(true);
+ medium->setDeviceNode(libhal_volume_get_device_file(halVolume));
+ medium->setClearDeviceUdi(TQString::null);
+ medium->setMountPoint(TQString::null);
+ medium->setFsType(TQString::null);
+ medium->setMounted(false);
+ }
}
else
{
kdDebug(1219) << "HALBackend::setVolumeProperties : normal volume" << endl;
- medium->mountableState(
- libhal_volume_get_device_file(halVolume), /* Device node */
- TQString::fromUtf8(libhal_volume_get_mount_point(halVolume)), /* Mount point */
- libhal_volume_get_fstype(halVolume), /* Filesystem type */
- libhal_volume_is_mounted(halVolume) ); /* Mounted ? */
+ medium->setMountable(true);
+ medium->setDeviceNode(libhal_volume_get_device_file(halVolume));
+ medium->setMountPoint(TQString::fromUtf8(libhal_volume_get_mount_point(halVolume)));
+ medium->setFsType(libhal_volume_get_fstype(halVolume));
+ medium->setMounted(libhal_volume_is_mounted(halVolume));
}
@@ -570,7 +574,8 @@ void HALBackend::setVolumeProperties(Medium* medium)
if (libhal_volume_disc_is_blank(halVolume))
{
mimeType = "media/blankcd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
}
else
{
@@ -584,7 +589,8 @@ void HALBackend::setVolumeProperties(Medium* medium)
if (libhal_volume_disc_is_blank(halVolume))
{
mimeType = "media/blankdvd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
}
else
{
@@ -609,7 +615,8 @@ void HALBackend::setVolumeProperties(Medium* medium)
if (libhal_volume_disc_has_audio(halVolume) && !libhal_volume_disc_has_data(halVolume))
{
mimeType = "media/audiocd";
- medium->unmountableState( "audiocd:/?device=" + TQString(libhal_volume_get_device_file(halVolume)) );
+ medium->setMountable(false);
+ medium->setBaseURL("audiocd:/?device=" + TQString(libhal_volume_get_device_file(halVolume)));
}
medium->setIconName(TQString::null);
@@ -653,12 +660,14 @@ void HALBackend::setVolumeProperties(Medium* medium)
case LIBHAL_DRIVE_TYPE_PORTABLE_AUDIO_PLAYER:
{
medium->setIconName("ipod" + MOUNTED_ICON_SUFFIX);
+ medium->setMountable(false);
if (libhal_device_get_property_QString(m_halContext, driveUdi.latin1(), "info.product") == "iPod" &&
- KProtocolInfo::isKnownProtocol( TQString("ipod") ) )
+ KProtocolInfo::isKnownProtocol( TQString("ipod") ) )
{
- medium->unmountableState( "ipod:/" );
- medium->mountableState( libhal_volume_is_mounted(halVolume) );
+ medium->setBaseURL("ipod:/");
+ medium->setMountable(true);
+ medium->setMounted(libhal_volume_is_mounted(halVolume));
}
break;
}
@@ -723,11 +732,11 @@ bool HALBackend::setFstabProperties( Medium *medium )
if ( fstype.isNull() )
fstype = "auto";
- medium->mountableState(
- medium->deviceNode(),
- mp, /* Mount point */
- fstype, /* Filesystem type */
- mounted ); /* Mounted ? */
+ medium->setMountable(true);
+ medium->setDeviceNode(medium->deviceNode());
+ medium->setMountPoint(mp);
+ medium->setFsType(fstype);
+ medium->setMounted(mounted);
return true;
}
@@ -768,7 +777,11 @@ bool HALBackend::setFloppyProperties(Medium* medium)
medium->setLabel(i18n("Unknown Drive"));
// HAL hates floppies - so we have to do it twice ;(
- medium->mountableState(libhal_drive_get_device_file(halDrive), TQString::null, TQString::null, false);
+ medium->setMountable(true);
+ medium->setDeviceNode(libhal_drive_get_device_file(halDrive));
+ medium->setMountPoint(TQString::null);
+ medium->setFsType(TQString::null);
+ medium->setMounted(false);
setFloppyMountState(medium);
if (drive_type == "floppy")
@@ -813,7 +826,11 @@ void HALBackend::setFloppyMountState( Medium *medium )
{
fstype = (*it)->mountType().isNull() ? (*it)->mountType() : "auto";
mountpoint = (*it)->mountPoint();
- medium->mountableState( medium->deviceNode(), mountpoint, fstype, true );
+ medium->setMountable(true);
+ medium->setDeviceNode(medium->deviceNode());
+ medium->setMountPoint(mountpoint);
+ medium->setFsType(fstype);
+ medium->setMounted(true);
return;
}
}
@@ -847,7 +864,8 @@ void HALBackend::setCameraProperties(Medium* medium)
libhal_free_string(cam);
/** @todo find the rest of this URL */
- medium->unmountableState(device);
+ medium->setMountable(false);
+ medium->setBaseURL(device);
medium->setMimeType("media/gphoto2camera");
medium->setIconName(TQString::null);
if (libhal_device_property_exists(m_halContext, udi, "usb_device.product", NULL))
@@ -1605,7 +1623,6 @@ TQStringVariantMap HALBackend::mount(const Medium *medium)
return result;
}
- medium->setHalMounted(true);
ResetProperties(medium->id().latin1());
result["result"] = true;
@@ -1812,7 +1829,6 @@ TQStringVariantMap HALBackend::unmount(const TQString &id)
dbus_message_unref (reply);
}
- medium->setHalMounted(false);
ResetProperties(medium->id().latin1());
while (dbus_connection_dispatch(dbus_connection) == DBUS_DISPATCH_DATA_REMAINS) ;
diff --git a/tdeioslave/media/mediamanager/medialist.cpp b/tdeioslave/media/mediamanager/medialist.cpp
index b06824d0c..dc0a108d6 100644
--- a/tdeioslave/media/mediamanager/medialist.cpp
+++ b/tdeioslave/media/mediamanager/medialist.cpp
@@ -128,42 +128,42 @@ bool MediaList::changeMediumState(const Medium &medium, bool allowNotification)
{
kdDebug(1219) << "MediaList::changeMediumState(const Medium &) for id " << medium.id() << endl;
- if ( !m_idMap.contains(medium.id()) ) return false;
+ if (!m_idMap.contains(medium.id())) return false;
Medium *m = m_idMap[medium.id()];
- if ( medium.isMountable() )
+ m->setMountable(medium.isMountable());
+ if (medium.isMountable())
{
- TQString device_node = medium.deviceNode();
- TQString clear_device_udi = medium.clearDeviceUdi();
- TQString mount_point = medium.mountPoint();
- TQString fs_type = medium.fsType();
- bool mounted = medium.isMounted();
-
- m->mountableState( device_node, clear_device_udi, mount_point, fs_type, mounted );
+ m->setMountable(true);
+ m->setDeviceNode(medium.deviceNode());
+ m->setClearDeviceUdi(medium.clearDeviceUdi());
+ m->setMountPoint(medium.mountPoint());
+ m->setFsType(medium.fsType());
+ m->setMounted(medium.isMounted());
}
else
{
- m->unmountableState( medium.baseURL() );
+ m->setBaseURL(medium.baseURL());
}
-
if (!medium.mimeType().isEmpty())
{
- m->setMimeType( medium.mimeType() );
+ m->setMimeType(medium.mimeType());
}
if (!medium.iconName().isEmpty())
{
- m->setIconName( medium.iconName() );
+ m->setIconName(medium.iconName());
}
if (!medium.label().isEmpty())
{
- m->setLabel( medium.label() );
+ m->setLabel(medium.label());
}
m->setHidden(medium.hidden());
+ m->setSoftHidden(medium.softHidden());
emit mediumStateChanged(m->id(), m->name(), !m->needMounting(), allowNotification);
return true;
@@ -184,7 +184,8 @@ bool MediaList::changeMediumState(const TQString &id,
Medium *medium = m_idMap[id];
- medium->unmountableState( baseURL );
+ medium->setMountable(false);
+ medium->setBaseURL(baseURL);
if (!mimeType.isEmpty())
{
@@ -225,7 +226,11 @@ bool MediaList::changeMediumState(const TQString &id,
Medium *medium = m_idMap[id];
- medium->mountableState( deviceNode, mountPoint, fsType, mounted );
+ medium->setMountable(true);
+ medium->setDeviceNode(deviceNode);
+ medium->setMountPoint(mountPoint);
+ medium->setFsType(fsType);
+ medium->setMounted(mounted);
if (!mimeType.isEmpty())
{
@@ -262,7 +267,12 @@ bool MediaList::changeMediumState(const TQString &id, bool mounted,
Medium *medium = m_idMap[id];
- if ( !medium->mountableState( mounted ) ) return false;
+ medium->setMountable(true);
+ medium->setMounted(mounted);
+ if (medium->deviceNode().isEmpty() || !medium->isMountable())
+ {
+ return false;
+ }
if (!mimeType.isEmpty())
{
diff --git a/tdeioslave/media/mediamanager/removablebackend.cpp b/tdeioslave/media/mediamanager/removablebackend.cpp
index 54df3d6f1..dacb9b704 100644
--- a/tdeioslave/media/mediamanager/removablebackend.cpp
+++ b/tdeioslave/media/mediamanager/removablebackend.cpp
@@ -63,8 +63,11 @@ bool RemovableBackend::plug(const TQString &devNode, const TQString &label)
if (!m_removableIds.contains(id))
{
Medium *medium = new Medium(id, id, name);
- medium->mountableState(devNode, TQString::null,
- TQString::null, false);
+ medium->setMountable(true);
+ medium->setDeviceNode(devNode);
+ medium->setMountPoint(TQString::null);
+ medium->setFsType(TQString::null);
+ medium->setMounted(false);
TQStringList words = TQStringList::split(" ", label);
diff --git a/tdeioslave/media/mediamanager/tdehardwarebackend.cpp b/tdeioslave/media/mediamanager/tdehardwarebackend.cpp
index 45c58081d..dc780d455 100644
--- a/tdeioslave/media/mediamanager/tdehardwarebackend.cpp
+++ b/tdeioslave/media/mediamanager/tdehardwarebackend.cpp
@@ -465,8 +465,11 @@ void TDEBackend::setVolumeProperties(Medium* medium)
medium->setEncrypted(false);
}
- // USAGE: mountableState(Device node, Mount point, Filesystem type, Mounted ?)
- medium->mountableState(sdevice->deviceNode(), sdevice->mountPath(), sdevice->fileSystemName(), !sdevice->mountPath().isNull());
+ medium->setMountable(true);
+ medium->setDeviceNode(sdevice->deviceNode());
+ medium->setMountPoint(sdevice->mountPath());
+ medium->setFsType(sdevice->fileSystemName());
+ medium->setMounted(!sdevice->mountPath().isEmpty());
TQString diskLabel = sdevice->diskLabel();
bool useDefaultLabel = diskLabel.isNull();
@@ -515,7 +518,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/cdrom" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankcd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank CD-ROM");
}
}
@@ -524,7 +528,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/cd-r" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankcd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank CD-R");
}
}
@@ -533,7 +538,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/cd-rw" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankcd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank CD-RW");
}
}
@@ -542,7 +548,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/cd-rw" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankcd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank Magneto-Optical CD");
}
}
@@ -551,7 +558,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/cd-rw" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankcd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank Mount Ranier CD-RW");
}
}
@@ -560,7 +568,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/cd-rw" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankcd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank Mount Ranier CD-RW-W");
}
}
@@ -569,7 +578,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/dvd" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankdvd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank DVD-ROM");
}
}
@@ -578,7 +588,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/dvd" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankdvd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank DVD-RAM");
}
}
@@ -587,7 +598,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/dvd" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankdvd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank DVD-R");
}
}
@@ -596,7 +608,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/dvd" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankdvd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank DVD-RW");
}
}
@@ -605,7 +618,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/dvd" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankdvd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank Dual Layer DVD-R");
}
}
@@ -614,7 +628,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/dvd" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankdvd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank Dual Layer DVD-RW");
}
}
@@ -623,7 +638,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/dvd" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankdvd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank DVD+R");
}
}
@@ -632,7 +648,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/dvd" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankdvd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank DVD+RW");
}
}
@@ -641,7 +658,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/dvd" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankdvd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank Dual Layer DVD+R");
}
}
@@ -650,7 +668,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/dvd" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankdvd";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank Dual Layer DVD+RW");
}
}
@@ -659,7 +678,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/bluray" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankbluray";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank BLURAY-ROM");
}
}
@@ -668,7 +688,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/bluray" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankbluray";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank BLURAY-R");
}
}
@@ -677,7 +698,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/bluray" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankbluray";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank BLURAY-RW");
}
}
@@ -686,7 +708,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/bluray" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankbluray";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank HDDVD-ROM");
}
}
@@ -695,7 +718,8 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/bluray" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankbluray";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank HDDVD-R");
}
}
@@ -704,14 +728,16 @@ void TDEBackend::setVolumeProperties(Medium* medium)
mimeType = "media/bluray" + MOUNT_MEDIA_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
mimeType = "media/blankbluray";
- medium->unmountableState("");
+ medium->setMountable(false);
+ medium->setBaseURL(TQString::null);
diskLabel = i18n("Blank HDDVD-RW");
}
}
if (sdevice->isDiskOfType(TDEDiskDeviceType::CDAudio)) {
mimeType = "media/audiocd";
- medium->unmountableState("audiocd:/?device=" + sdevice->deviceNode());
+ medium->setMountable(false);
+ medium->setBaseURL("audiocd:/?device=" + sdevice->deviceNode());
diskLabel = i18n("Audio CD");
}
@@ -759,9 +785,11 @@ void TDEBackend::setVolumeProperties(Medium* medium)
}
if (sdevice->isDiskOfType(TDEDiskDeviceType::MediaDevice)) {
medium->setIconName("ipod" + MOUNTED_ICON_SUFFIX);
- if (sdevice->vendorModel().upper().contains("IPOD") && KProtocolInfo::isKnownProtocol( TQString("ipod") ) ) {
- medium->unmountableState( "ipod:/" );
- medium->mountableState(!sdevice->mountPath().isNull());
+ medium->setMountable(false);
+ if (sdevice->vendorModel().upper().contains("IPOD") && KProtocolInfo::isKnownProtocol(TQString("ipod"))) {
+ medium->setBaseURL("ipod:/");
+ medium->setMountable(true);
+ medium->setMounted(!sdevice->mountPath().isEmpty());
}
}
if (sdevice->isDiskOfType(TDEDiskDeviceType::Tape)) {
@@ -801,15 +829,22 @@ bool TDEBackend::setFloppyProperties(Medium* medium)
medium->setEncrypted(false);
}
- // USAGE: mountableState(Device node, Mount point, Filesystem type, Mounted ?)
- medium->mountableState(sdevice->deviceNode(), sdevice->mountPath(), sdevice->fileSystemName(), !sdevice->mountPath().isNull());
+ medium->setMountable(true);
+ medium->setDeviceNode(sdevice->deviceNode());
+ medium->setMountPoint(sdevice->mountPath());
+ medium->setFsType(sdevice->fileSystemName());
+ medium->setMounted(!sdevice->mountPath().isEmpty());
}
if (sdevice->isDiskOfType(TDEDiskDeviceType::Floppy)) {
setFloppyMountState(medium);
// We don't use the routine above as floppy disks are extremely slow (we don't want them accessed at all during media listing)
- medium->mountableState(sdevice->deviceNode(), sdevice->mountPath(), sdevice->fileSystemName(), !sdevice->mountPath().isNull());
+ medium->setMountable(true);
+ medium->setDeviceNode(sdevice->deviceNode());
+ medium->setMountPoint(sdevice->mountPath());
+ medium->setFsType(sdevice->fileSystemName());
+ medium->setMounted(!sdevice->mountPath().isEmpty());
if (sdevice->mountPath().isNull()) {
medium->setMimeType("media/floppy_unmounted");
@@ -866,7 +901,8 @@ void TDEBackend::setCameraProperties(Medium* medium)
device.sprintf("camera://@[usb:%s,%s]/", devNode0.ascii(), devNode1.ascii());
}
- medium->unmountableState(device);
+ medium->setMountable(false);
+ medium->setBaseURL(device);
medium->setMimeType("media/gphoto2camera");
medium->setIconName(TQString::null);
@@ -890,7 +926,11 @@ void TDEBackend::setFloppyMountState( Medium *medium )
if ((*it)->mountedFrom() == medium->deviceNode() ) {
fstype = (*it)->mountType().isNull() ? (*it)->mountType() : "auto";
mountpoint = (*it)->mountPoint();
- medium->mountableState( medium->deviceNode(), mountpoint, fstype, true );
+ medium->setMountable(true);
+ medium->setDeviceNode(medium->deviceNode());
+ medium->setMountPoint(mountpoint);
+ medium->setFsType(fstype);
+ medium->setMounted(true);
return;
}
}