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 Wed May 2 2012 17:43:17 by doxygen 1.8.0 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2012 The KDE developers.
Generated on Wed May 2 2012 17:43:17 by doxygen 1.8.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.