File indexing completed on 2024-04-28 04:00:48
0001 /* 0002 SPDX-FileCopyrightText: 2006-2007 Kevin Ottens <ervin@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #include "managerbase_p.h" 0008 0009 #include <stdlib.h> 0010 0011 #include <config-backends.h> 0012 0013 // do *not* use other defines than BUILD_DEVICE_BACKEND_$backend to include 0014 // the managers, and keep an alphabetical order 0015 #ifdef BUILD_DEVICE_BACKEND_fakehw 0016 #include "backends/fakehw/fakemanager.h" 0017 #endif 0018 #ifdef BUILD_DEVICE_BACKEND_fstab 0019 #include "backends/fstab/fstabmanager.h" 0020 #endif 0021 #ifdef BUILD_DEVICE_BACKEND_imobile 0022 #include "backends/imobile/imobilemanager.h" 0023 #endif 0024 #ifdef BUILD_DEVICE_BACKEND_iokit 0025 #include "backends/iokit/iokitmanager.h" 0026 #endif 0027 #ifdef BUILD_DEVICE_BACKEND_udev 0028 #include "backends/udev/udevmanager.h" 0029 #endif 0030 #ifdef BUILD_DEVICE_BACKEND_udisks2 0031 #include "backends/udisks2/udisksmanager.h" 0032 #endif 0033 #ifdef BUILD_DEVICE_BACKEND_upower 0034 #include "backends/upower/upowermanager.h" 0035 #endif 0036 #ifdef BUILD_DEVICE_BACKEND_win 0037 #include "backends/win/windevicemanager.h" 0038 #endif 0039 0040 Solid::ManagerBasePrivate::ManagerBasePrivate() 0041 { 0042 } 0043 0044 Solid::ManagerBasePrivate::~ManagerBasePrivate() 0045 { 0046 qDeleteAll(m_backends); 0047 } 0048 0049 // do *not* use other defines than BUILD_DEVICE_BACKEND_$backend to add 0050 // the managers, and keep an alphabetical order 0051 void Solid::ManagerBasePrivate::loadBackends() 0052 { 0053 QString solidFakeXml(QString::fromLocal8Bit(qgetenv("SOLID_FAKEHW"))); 0054 0055 if (!solidFakeXml.isEmpty()) { 0056 #ifdef BUILD_DEVICE_BACKEND_fakehw 0057 m_backends << new Solid::Backends::Fake::FakeManager(nullptr, solidFakeXml); 0058 #endif 0059 } else { 0060 #ifdef BUILD_DEVICE_BACKEND_fstab 0061 m_backends << new Solid::Backends::Fstab::FstabManager(nullptr); 0062 #endif 0063 #ifdef BUILD_DEVICE_BACKEND_imobile 0064 m_backends << new Solid::Backends::IMobile::Manager(nullptr); 0065 #endif 0066 #ifdef BUILD_DEVICE_BACKEND_iokit 0067 m_backends << new Solid::Backends::IOKit::IOKitManager(nullptr); 0068 #endif 0069 #ifdef BUILD_DEVICE_BACKEND_udev 0070 m_backends << new Solid::Backends::UDev::UDevManager(nullptr); 0071 #endif 0072 #ifdef BUILD_DEVICE_BACKEND_udisks2 0073 if (!qEnvironmentVariableIsSet("SOLID_DISABLE_UDISKS2")) { 0074 m_backends << new Solid::Backends::UDisks2::Manager(nullptr); 0075 } 0076 #endif 0077 #ifdef BUILD_DEVICE_BACKEND_upower 0078 if (!qEnvironmentVariableIsSet("SOLID_DISABLE_UPOWER")) { 0079 m_backends << new Solid::Backends::UPower::UPowerManager(nullptr); 0080 } 0081 #endif 0082 #ifdef BUILD_DEVICE_BACKEND_win 0083 m_backends << new Solid::Backends::Win::WinDeviceManager(nullptr); 0084 #endif 0085 } 0086 } 0087 0088 QList<QObject *> Solid::ManagerBasePrivate::managerBackends() const 0089 { 0090 return m_backends; 0091 }