From 4974727d50923a4393e5f0daddf4694c6e082a84 Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Sun, 27 Mar 2022 20:01:48 +0900 Subject: Add 'safeRemove' and 'safeRemoveByNode' to mediamanager DCOP interface. Signed-off-by: Michele Calgaro --- tdeioslave/media/mediamanager/tdehardwarebackend.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'tdeioslave/media/mediamanager/tdehardwarebackend.cpp') diff --git a/tdeioslave/media/mediamanager/tdehardwarebackend.cpp b/tdeioslave/media/mediamanager/tdehardwarebackend.cpp index bb5849149..0e6eb4ad8 100644 --- a/tdeioslave/media/mediamanager/tdehardwarebackend.cpp +++ b/tdeioslave/media/mediamanager/tdehardwarebackend.cpp @@ -1575,6 +1575,24 @@ TQStringVariantMap TDEBackend::eject(const TQString &id) return result; } +TQStringVariantMap TDEBackend::safeRemove(const TQString &id) +{ + kdDebug(1219) << "TDEBackend::safeRemove for id " << id << endl; + + TQStringVariantMap result; + + const Medium *medium = m_mediaList.findById(id); + if (!medium) + { + result["errStr"] = i18n("No such medium: %1").arg(id); + result["result"] = false; + return result; + } + + releaseHolderDevices(medium->deviceNode(), true); + return eject(id); +} + void TDEBackend::releaseHolderDevices(const TQString &deviceNode, bool handleThis) { kdDebug(1219) << "TDEBackend::releaseHolderDevices for node " << deviceNode -- cgit v1.2.1