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 #elif defined (Q_OS_UNIX)
00028 #include "backends/hal/halmanager.h"
00029 #elif defined (_MSC_VER) // TODO: mingw
00030 #include "backends/wmi/wmimanager.h"
00031 #endif
00032
00033 Solid::ManagerBasePrivate::ManagerBasePrivate()
00034 : m_backend(0)
00035 {
00036 }
00037
00038 Solid::ManagerBasePrivate::~ManagerBasePrivate()
00039 {
00040 delete m_backend;
00041 }
00042
00043 void Solid::ManagerBasePrivate::loadBackend()
00044 {
00045 QString solidFakeXml(QString::fromLocal8Bit(qgetenv("SOLID_FAKEHW")));
00046
00047 if (!solidFakeXml.isEmpty()) {
00048 m_backend = new Solid::Backends::Fake::FakeManager(0, solidFakeXml);
00049 } else {
00050 #if defined (Q_OS_MAC)
00051 #elif defined (Q_OS_UNIX)
00052 m_backend = new Solid::Backends::Hal::HalManager(0);
00053 #elif defined (_MSC_VER) // TODO: mingw
00054 m_backend = new Solid::Backends::Wmi::WmiManager(0);
00055 #endif
00056 }
00057 }
00058
00059 QString Solid::ManagerBasePrivate::errorText() const
00060 {
00061 return m_errorText;
00062 }
00063
00064 QObject *Solid::ManagerBasePrivate::managerBackend() const
00065 {
00066 return m_backend;
00067 }
00068
00069