summaryrefslogtreecommitdiffstats
path: root/tdecore/tdehardwaredevices.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tdecore/tdehardwaredevices.cpp')
-rw-r--r--tdecore/tdehardwaredevices.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/tdecore/tdehardwaredevices.cpp b/tdecore/tdehardwaredevices.cpp
index b385538fb..b8d6cf29f 100644
--- a/tdecore/tdehardwaredevices.cpp
+++ b/tdecore/tdehardwaredevices.cpp
@@ -449,6 +449,21 @@ bool TDEStorageDevice::lockDriveMedia(bool lock) {
}
}
+bool TDEStorageDevice::ejectDriveMedia() {
+ int fd = open(deviceNode().ascii(), O_RDWR | O_NONBLOCK);
+ if (fd < 0) {
+ return false;
+ }
+ if (ioctl(fd, CDROMEJECT) != 0) {
+ close(fd);
+ return false;
+ }
+ else {
+ close(fd);
+ return true;
+ }
+}
+
TQString TDEStorageDevice::diskLabel() {
return m_diskName;
}