summaryrefslogtreecommitdiffstats
path: root/tdecore/tdehw
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2020-02-10 15:25:45 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2020-02-10 15:25:45 +0900
commitb6953843f5d84e806cdb8ecf50eb2ac58ee9e065 (patch)
tree2216ac092a2e9902ba295cd18e72b36bd5d41c8e /tdecore/tdehw
parent94515be234e926611355ec174f91b3abdf1cf13a (diff)
downloadtdelibs-b6953843f5d84e806cdb8ecf50eb2ac58ee9e065.tar.gz
tdelibs-b6953843f5d84e806cdb8ecf50eb2ac58ee9e065.zip
Added back build options for UDISKS2, UDISKS and UDEVIL as requested by
some users. Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'tdecore/tdehw')
-rw-r--r--tdecore/tdehw/CMakeLists.txt24
-rw-r--r--tdecore/tdehw/disksHelper.cpp29
-rw-r--r--tdecore/tdehw/tdestoragedevice.cpp35
3 files changed, 66 insertions, 22 deletions
diff --git a/tdecore/tdehw/CMakeLists.txt b/tdecore/tdehw/CMakeLists.txt
index 9495b3717..737d0557c 100644
--- a/tdecore/tdehw/CMakeLists.txt
+++ b/tdecore/tdehw/CMakeLists.txt
@@ -17,6 +17,13 @@ if( NOT DBUS_SYSTEM_BUS )
set( DBUS_SYSTEM_BUS "unix:path=/var/run/dbus/system_bus_socket" CACHE INTERNAL "" FORCE )
endif()
+if( WITH_TDEHWLIB_DAEMONS OR WITH_HAL OR WITH_DEVKITPOWER OR WITH_UPOWER OR WITH_UDISKS OR WITH_UDISKS2 OR
+ WITH_NETWORK_MANAGER_BACKEND OR WITH_CONSOLEKIT )
+ list( APPEND TDEHW_CUSTOM_INCLUDE_DIRS ${DBUS_TQT_INCLUDE_DIRS} )
+ list( APPEND TDEHW_CUSTOM_LIBRARY_DIRS ${DBUS_TQT_LIBRARY_DIRS} )
+ list( APPEND TDEHW_CUSTOM_LIBRARIES ${DBUS_TQT_LIBRARIES} )
+endif( )
+
if( WITH_TDEHWLIB_DAEMONS )
add_definitions( -DWITH_TDEHWLIB_DAEMONS )
endif( )
@@ -37,6 +44,18 @@ if( WITH_UPOWER )
add_definitions( -DWITH_UPOWER )
endif( )
+if( WITH_UDISKS )
+ add_definitions( -DWITH_UDISKS )
+endif( )
+
+if( WITH_UDISKS2 )
+ add_definitions( -DWITH_UDISKS2 )
+endif( )
+
+if( WITH_UDEVIL )
+ add_definitions( -DWITH_UDEVIL )
+endif( )
+
if( WITH_CONSOLEKIT )
add_definitions( -DWITH_CONSOLEKIT )
endif( )
@@ -73,13 +92,11 @@ include_directories(
${CMAKE_SOURCE_DIR}/tdecore
${CMAKE_SOURCE_DIR}/dcop
${CMAKE_BINARY_DIR}/tdeio/kssl
- ${DBUS_TQT_INCLUDE_DIRS}
${TDEHW_CUSTOM_INCLUDE_DIRS}
)
link_directories(
${TQT_LIBRARY_DIRS}
- ${DBUS_TQT_LIBRARY_DIRS}
${TDEHW_CUSTOM_LIBRARY_DIRS}
)
@@ -109,6 +126,5 @@ set( ${target}_SRCS
tde_add_library( ${target} STATIC_PIC AUTOMOC
SOURCES ${${target}_SRCS}
- LINK udev ${TDENM_LIBRARIES} ${TDEUPOWER_LIBRARIES} ${DBUS_TQT_LIBRARIES}
- ${TDEHW_CUSTOM_LIBRARIES}
+ LINK udev ${TDENM_LIBRARIES} ${TDEUPOWER_LIBRARIES} ${TDEHW_CUSTOM_LIBRARIES}
)
diff --git a/tdecore/tdehw/disksHelper.cpp b/tdecore/tdehw/disksHelper.cpp
index 0eab2d28c..2589e5053 100644
--- a/tdecore/tdehw/disksHelper.cpp
+++ b/tdecore/tdehw/disksHelper.cpp
@@ -20,16 +20,21 @@
#include "disksHelper.h"
#include "tdelocale.h"
#include "tdestoragedevice.h"
-#include <tqdbusdata.h>
-#include <tqdbusmessage.h>
-#include <tqdbusproxy.h>
-#include <tqdbusvariant.h>
-#include <tqdbusconnection.h>
-#include <tqdbuserror.h>
-#include <tqdbusdatamap.h>
-#include <tqdbusobjectpath.h>
-#include "tqdbusdatalist.h"
+#if defined(WITH_UDISKS) || defined(WITH_UDISKS2)
+ #include <tqdbusdata.h>
+ #include <tqdbusmessage.h>
+ #include <tqdbusproxy.h>
+ #include <tqdbusvariant.h>
+ #include <tqdbusconnection.h>
+ #include <tqdbuserror.h>
+ #include <tqdbusdatamap.h>
+ #include <tqdbusobjectpath.h>
+ #include "tqdbusdatalist.h"
+#endif
+
+
+#ifdef WITH_UDISKS
//-------------------------------
// UDisks
//-------------------------------
@@ -148,7 +153,10 @@ TQStringVariantMap UDisksUnmountDrive(TQString deviceNode, TQStringList unmountO
}
return result;
}
+#endif
+
+#ifdef WITH_UDISKS2
//-------------------------------
// UDisks2
//-------------------------------
@@ -310,5 +318,4 @@ TQStringVariantMap UDisks2UnmountDrive(TQString deviceNode, TQString unmountOpti
}
return result;
}
-
-
+#endif
diff --git a/tdecore/tdehw/tdestoragedevice.cpp b/tdecore/tdehw/tdestoragedevice.cpp
index d797ff032..bff09e319 100644
--- a/tdecore/tdehw/tdestoragedevice.cpp
+++ b/tdecore/tdehw/tdestoragedevice.cpp
@@ -308,6 +308,7 @@ bool TDEStorageDevice::lockDriveMedia(bool lock) {
}
bool TDEStorageDevice::ejectDrive() {
+#ifdef WITH_UDISKS2
if (!(TDEGlobal::dirs()->findExe("udisksctl").isEmpty())) {
TQStringVariantMap ejectResult = UDisks2EjectDrive(this);
if (ejectResult["result"].toBool()) {
@@ -318,6 +319,8 @@ bool TDEStorageDevice::ejectDrive() {
fflush(stdout);
}
}
+#endif
+#ifdef WITH_UDISKS
if (!(TDEGlobal::dirs()->findExe("udisks").isEmpty())) {
TQStringVariantMap ejectResult = UDisksEjectDrive(this);
if (ejectResult["result"].toBool()) {
@@ -328,6 +331,7 @@ bool TDEStorageDevice::ejectDrive() {
fflush(stdout);
}
}
+#endif
if (!(TDEGlobal::dirs()->findExe("eject").isEmpty())) {
TQString command = TQString("eject -v '%1' 2>&1").arg(deviceNode());
@@ -718,7 +722,9 @@ TQStringVariantMap TDEStorageDevice::mountDevice(TQString mediaName, TDEStorageM
TQString devNode = deviceNode();
devNode.replace("'", "'\\''");
mediaName.replace("'", "'\\''");
+ TQString command = TQString::null;
+#if defined(WITH_UDISKS2) || defined(WITH_UDISKS) || defined(WITH_UDEVIL)
// Prepare filesystem options for mount
TQStringList udisksOptions;
if (mountOptions["ro"] == "true") {
@@ -770,13 +776,17 @@ TQStringVariantMap TDEStorageDevice::mountDevice(TQString mediaName, TDEStorageM
optionString.remove(0, 1);
}
- // Try to use UDISKS v2 via DBUS, if available
TQString fileSystemType;
if (mountOptions.contains("filesystem") && !mountOptions["filesystem"].isEmpty()) {
fileSystemType = mountOptions["filesystem"];
}
- TQStringVariantMap mountResult = UDisks2MountDrive(devNode, fileSystemType, optionString);
+ TQStringVariantMap mountResult;
+#endif
+
+#if defined(WITH_UDISKS2)
+ // Try to use UDISKS v2 via DBUS, if available
+ mountResult = UDisks2MountDrive(devNode, fileSystemType, optionString);
if (mountResult["result"].toBool()) {
// Update internal mount data
TDEGlobal::hardwareDevices()->processModifiedMounts();
@@ -791,7 +801,9 @@ TQStringVariantMap TDEStorageDevice::mountDevice(TQString mediaName, TDEStorageM
result["result"] = false;
return result;
}
+#endif
+#if defined(WITH_UDISKS)
// The UDISKS v2 DBUS service was either not available or was unusable
// Try to use UDISKS v1 via DBUS, if available
mountResult = UDisksMountDrive(devNode, fileSystemType, udisksOptions);
@@ -809,10 +821,11 @@ TQStringVariantMap TDEStorageDevice::mountDevice(TQString mediaName, TDEStorageM
result["result"] = false;
return result;
}
+#endif
+#if defined(WITH_UDEVIL)
// The UDISKS v1 DBUS service was either not available or was unusable
// Use 'udevil' command, if available
- TQString command = TQString::null;
if (!TDEGlobal::dirs()->findExe("udevil").isEmpty()) {
if (mountOptions.contains("filesystem") && !mountOptions["filesystem"].isEmpty()) {
fileSystemType = TQString("-t %1").arg(mountOptions["filesystem"]);
@@ -829,8 +842,9 @@ TQStringVariantMap TDEStorageDevice::mountDevice(TQString mediaName, TDEStorageM
command = TQString("udevil mount %1 -o '%2' '%3' '%4' 2>&1")
.arg(fileSystemType).arg(optionString).arg(devNode).arg(mountpoint);
}
+#endif
- // If 'udevil' was not found, use 'pmount' command if available
+ // If no other method was found, use 'pmount' command if available
if(command.isEmpty()) {
if (!TDEGlobal::dirs()->findExe("pmount").isEmpty()) {
// Create dummy password file
@@ -990,9 +1004,12 @@ TQStringVariantMap TDEStorageDevice::unmountDevice() {
mountpoint.replace("'", "'\\''");
TQString devNode = deviceNode();
+ TQString command = TQString::null;
+ TQStringVariantMap unmountResult;
+#if defined(WITH_UDISKS2)
// Try to use UDISKS v2 via DBUS, if available
- TQStringVariantMap unmountResult = UDisks2UnmountDrive(devNode, TQString::null);
+ unmountResult = UDisks2UnmountDrive(devNode, TQString::null);
if (unmountResult["result"].toBool()) {
// Update internal mount data
TDEGlobal::hardwareDevices()->processModifiedMounts();
@@ -1006,7 +1023,9 @@ TQStringVariantMap TDEStorageDevice::unmountDevice() {
result["result"] = false;
return result;
}
+#endif
+#if defined(WITH_UDISKS)
// The UDISKS v2 DBUS service was either not available or was unusable
// Try to use UDISKS v1 via DBUS, if available
unmountResult = UDisksUnmountDrive(devNode, TQStringList());
@@ -1023,15 +1042,17 @@ TQStringVariantMap TDEStorageDevice::unmountDevice() {
result["result"] = false;
return result;
}
+#endif
+#if defined(WITH_UDEVIL)
// The UDISKS v1 DBUS service was either not available or was unusable
// Use 'udevil' command, if available
- TQString command = TQString::null;
if (!TDEGlobal::dirs()->findExe("udevil").isEmpty()) {
command = TQString("udevil umount '%1' 2>&1").arg(mountpoint);
}
+#endif
- // If 'udevil' was not found, use 'pmount' command if available
+ // If no other method was found, use 'pmount' command if available
if(command.isEmpty() && !TDEGlobal::dirs()->findExe("pumount").isEmpty()) {
command = TQString("pumount '%1' 2>&1").arg(mountpoint);
}