• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdelibs-4.8.3 API Reference
  • 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/udisks/udisksmanager.h"
00034 #include "backends/upower/upowermanager.h"
00035 
00036 #if defined (HUPNP_FOUND)
00037 #include "backends/upnp/upnpdevicemanager.h"
00038 #endif
00039 
00040 #if defined (UDEV_FOUND)
00041 #include "backends/udev/udevmanager.h"
00042 #endif
00043 
00044 #include "backends/fstab/fstabmanager.h"
00045 
00046 #elif defined (Q_WS_WIN) && defined(HAVE_WBEM) && !defined(_WIN32_WCE)
00047 #include "backends/wmi/wmimanager.h"
00048 #endif
00049 
00050 
00051 Solid::ManagerBasePrivate::ManagerBasePrivate()
00052 {
00053 }
00054 
00055 Solid::ManagerBasePrivate::~ManagerBasePrivate()
00056 {
00057     qDeleteAll(m_backends);
00058 }
00059 
00060 void Solid::ManagerBasePrivate::loadBackends()
00061 {
00062     QString solidFakeXml(QString::fromLocal8Bit(qgetenv("SOLID_FAKEHW")));
00063 
00064     if (!solidFakeXml.isEmpty()) {
00065         m_backends << new Solid::Backends::Fake::FakeManager(0, solidFakeXml);
00066     } else {
00067 #        if defined(Q_OS_MAC)
00068             m_backends << new Solid::Backends::IOKit::IOKitManager(0);
00069 
00070 #        elif defined(Q_WS_WIN) && defined(HAVE_WBEM) && !defined(_WIN32_WCE)
00071             m_backends << new Solid::Backends::Wmi::WmiManager(0);
00072 
00073 #        elif defined(Q_OS_LINUX)
00074 #               if defined(UDEV_FOUND)
00075                     m_backends << new Solid::Backends::UDev::UDevManager(0);
00076 #               endif
00077                 m_backends << new Solid::Backends::UDisks::UDisksManager(0)
00078                            << new Solid::Backends::UPower::UPowerManager(0)
00079                            << new Solid::Backends::Fstab::FstabManager(0);
00080 #        endif
00081 
00082 #        if defined (HUPNP_FOUND)
00083             bool solidUpnpEnabled
00084                 = QString::fromLocal8Bit(qgetenv("SOLID_UPNP")).toInt()==1;
00085             if (solidUpnpEnabled) {
00086                 m_backends << new Solid::Backends::UPnP::UPnPDeviceManager(0);
00087             }
00088 #        endif
00089     }
00090 }
00091 
00092 QList<QObject*> Solid::ManagerBasePrivate::managerBackends() const
00093 {
00094     return m_backends;
00095 }
00096 
00097 
This file is part of the KDE documentation.
Documentation copyright © 1996-2012 The KDE developers.
Generated on Thu May 10 2012 20:52:04 by doxygen 1.8.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

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-4.8.3 API Reference

Skip menu "kdelibs-4.8.3 API Reference"
  • 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
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal