• Skip to content
  • Skip to link menu
KDE 4.7 API Reference
  • KDE API Reference
  • kdelibs
  • KDE Home
  • Contact Us
 

Solid

managerbase.cpp
Go to the documentation of this file.
00001 /*
00002     Copyright 2006-2007 Kevin Ottens <ervin@kde.org>
00003 
00004     This library is free software; you can redistribute it and/or
00005     modify it under the terms of the GNU Lesser General Public
00006     License as published by the Free Software Foundation; either
00007     version 2.1 of the License, or (at your option) version 3, or any
00008     later version accepted by the membership of KDE e.V. (or its
00009     successor approved by the membership of KDE e.V.), which shall
00010     act as a proxy defined in Section 6 of version 3 of the license.
00011 
00012     This library is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015     Lesser General Public License for more details.
00016 
00017     You should have received a copy of the GNU Lesser General Public
00018     License along with this library. If not, see <http://www.gnu.org/licenses/>.
00019 */
00020 
00021 #include "managerbase_p.h"
00022 
00023 #include <stdlib.h>
00024 #if !defined (Q_WS_WIN) && !defined (Q_OS_MAC)
00025 #include <config-solid.h>
00026 #endif
00027 
00028 #include "backends/fakehw/fakemanager.h"
00029 
00030 #if defined (Q_OS_MAC)
00031 #include "backends/iokit/iokitmanager.h"
00032 #elif defined (Q_OS_UNIX)
00033 #include "backends/hal/halmanager.h"
00034 #include "backends/udisks/udisksmanager.h"
00035 #include "backends/upower/upowermanager.h"
00036 
00037 #if defined (HUPNP_FOUND)
00038 #include "backends/upnp/upnpdevicemanager.h"
00039 #endif
00040 
00041 #if defined (UDEV_FOUND)
00042 #include "backends/udev/udevmanager.h"
00043 #endif
00044 
00045 #include "backends/fstab/fstabmanager.h"
00046 
00047 #elif defined (Q_WS_WIN) && defined(HAVE_WBEM) && !defined(_WIN32_WCE)
00048 #include "backends/wmi/wmimanager.h"
00049 #endif
00050 
00051 
00052 Solid::ManagerBasePrivate::ManagerBasePrivate()
00053 {
00054 }
00055 
00056 Solid::ManagerBasePrivate::~ManagerBasePrivate()
00057 {
00058     qDeleteAll(m_backends);
00059 }
00060 
00061 void Solid::ManagerBasePrivate::loadBackends()
00062 {
00063     QString solidFakeXml(QString::fromLocal8Bit(qgetenv("SOLID_FAKEHW")));
00064 
00065     if (!solidFakeXml.isEmpty()) {
00066         m_backends << new Solid::Backends::Fake::FakeManager(0, solidFakeXml);
00067     } else {
00068 #        if defined(Q_OS_MAC)
00069             m_backends << new Solid::Backends::IOKit::IOKitManager(0);
00070 
00071 #        elif defined(Q_WS_WIN) && defined(HAVE_WBEM) && !defined(_WIN32_WCE)
00072             m_backends << new Solid::Backends::Wmi::WmiManager(0);
00073 
00074 #        elif defined(Q_OS_UNIX) && !defined(Q_OS_LINUX)
00075             m_backends << new Solid::Backends::Hal::HalManager(0);
00076 
00077 #        elif defined(Q_OS_LINUX)
00078             bool solidHalLegacyEnabled
00079                 = QString::fromLocal8Bit(qgetenv("SOLID_HAL_LEGACY")).toInt()==1;
00080             if (solidHalLegacyEnabled) {
00081                 m_backends << new Solid::Backends::Hal::HalManager(0);
00082             } else {
00083 #               if defined(UDEV_FOUND)
00084                     m_backends << new Solid::Backends::UDev::UDevManager(0);
00085 #               endif
00086                 m_backends << new Solid::Backends::UDisks::UDisksManager(0)
00087                            << new Solid::Backends::UPower::UPowerManager(0)
00088                            << new Solid::Backends::Fstab::FstabManager(0);
00089             }
00090 #        endif
00091 
00092 #        if defined (HUPNP_FOUND)
00093             m_backends << new Solid::Backends::UPnP::UPnPDeviceManager(0);
00094 #        endif
00095     }
00096 }
00097 
00098 QList<QObject*> Solid::ManagerBasePrivate::managerBackends() const
00099 {
00100     return m_backends;
00101 }
00102 
00103 

Solid

Skip menu "Solid"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.7.5.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal