Solid
managerbase.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "managerbase_p.h"
00021
00022 #include <stdlib.h>
00023
00024 #include "backends/fakehw/fakemanager.h"
00025
00026 #if defined (Q_OS_MAC)
00027 #include "backends/iokit/iokitmanager.h"
00028 #elif defined (Q_OS_UNIX)
00029 #include "backends/hal/halmanager.h"
00030 #elif defined (_MSC_VER) // TODO: mingw
00031 #include "backends/wmi/wmimanager.h"
00032 #endif
00033
00034 Solid::ManagerBasePrivate::ManagerBasePrivate()
00035 : m_backend(0)
00036 {
00037 }
00038
00039 Solid::ManagerBasePrivate::~ManagerBasePrivate()
00040 {
00041 delete m_backend;
00042 }
00043
00044 void Solid::ManagerBasePrivate::loadBackend()
00045 {
00046 QString solidFakeXml(QString::fromLocal8Bit(qgetenv("SOLID_FAKEHW")));
00047
00048 if (!solidFakeXml.isEmpty()) {
00049 m_backend = new Solid::Backends::Fake::FakeManager(0, solidFakeXml);
00050 } else {
00051 # if defined (Q_OS_MAC)
00052 m_backend = new Solid::Backends::IOKit::IOKitManager(0);
00053 # elif defined (Q_OS_UNIX)
00054 m_backend = new Solid::Backends::Hal::HalManager(0);
00055 # elif defined (_MSC_VER) // TODO: mingw
00056 m_backend = new Solid::Backends::Wmi::WmiManager(0);
00057 # endif
00058 }
00059 }
00060
00061 QString Solid::ManagerBasePrivate::errorText() const
00062 {
00063 return m_errorText;
00064 }
00065
00066 QObject *Solid::ManagerBasePrivate::managerBackend() const
00067 {
00068 return m_backend;
00069 }
00070
00071