[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/powerdevil/daemon
From: Dario Freddi <drf () kde ! org>
Date: 2010-11-20 18:23:16
Message-ID: 20101120182316.CBE84AC8A0 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1199129 by dafre:
Make backends link statically to the daemon, and fix loading by adding a \
backendloader.
A BackendConfig.cmake
M +6 -3 CMakeLists.txt
M +6 -4 backends/hal/powerdevilhalbackend.cpp
M +2 -1 backends/hal/powerdevilhalbackend.h
M +0 -2 backends/upower/CMakeLists.txt
M +6 -4 backends/upower/powerdevilupowerbackend.cpp
M +2 -1 backends/upower/powerdevilupowerbackend.h
M +2 -0 powerdevilbackendinterface.h
A powerdevilbackendloader.cpp [License: GPL (v2+)]
A powerdevilbackendloader.h [License: GPL (v2+)]
M +5 -18 powerdevilcore.cpp
--- trunk/KDE/kdebase/workspace/powerdevil/daemon/CMakeLists.txt #1199128:1199129
@@ -13,11 +13,15 @@
actions/bundled/handlebuttonevents.cpp
)
+# Backends
+include(BackendConfig.cmake)
+
# target no.1 - powerdevil core library
set(powerdevilcore_SRCS
powerdevilaction.cpp
powerdevilactionpool.cpp
powerdevilbackendinterface.cpp
+ powerdevilbackendloader.cpp
powerdevilcore.cpp
powerdevilfdoconnector.cpp
powerdevilpolicyagent.cpp
@@ -37,12 +41,13 @@
qt4_add_dbus_adaptor(powerdevilcore_SRCS \
${KDE4_DBUS_INTERFACES_DIR}/org.freedesktop.PowerManagement.xml \
powerdevilfdoconnector.h PowerDevil::FdoConnector powermanagementfdoadaptor \
PowerManagementFdoAdaptor) qt4_add_dbus_adaptor(powerdevilcore_SRCS \
${KDE4_DBUS_INTERFACES_DIR}/org.freedesktop.PowerManagement.Inhibit.xml \
powerdevilfdoconnector.h PowerDevil::FdoConnector powermanagementinhibitadaptor \
PowerManagementInhibitAdaptor)
-kde4_add_library(powerdevilcore SHARED ${powerdevilcore_SRCS} \
${powerdevil_bundled_actions_SRCS}) +kde4_add_library(powerdevilcore SHARED \
${powerdevilcore_SRCS} ${powerdevil_bundled_actions_SRCS} ${POWERDEVIL_BACKEND_SRCS}) \
target_link_libraries(powerdevilcore
${KDE4_KDECORE_LIBS}
${KDE4_SOLID_LIBS}
${KDE4_KIDLETIME_LIBS}
+ ${POWERDEVIL_BACKEND_LIBS}
kworkspace
)
@@ -75,5 +80,3 @@
install(TARGETS powerdevilui ${INSTALL_TARGETS_DEFAULT_ARGS})
install(FILES powerdevil.desktop DESTINATION ${SERVICES_INSTALL_DIR}/kded)
-
-add_subdirectory(backends)
--- trunk/KDE/kdebase/workspace/powerdevil/daemon/backends/hal/powerdevilhalbackend.cpp \
#1199128:1199129 @@ -32,10 +32,7 @@
#include <KPluginFactory>
#include <QtCore/QTimer>
-K_PLUGIN_FACTORY(PowerDevilHalBackendFactory, \
registerPlugin<PowerDevilHALBackend>(); )
-K_EXPORT_PLUGIN(PowerDevilHalBackendFactory("powerdevilhalbackend"))
-
-PowerDevilHALBackend::PowerDevilHALBackend(QObject* parent, const QVariantList&)
+PowerDevilHALBackend::PowerDevilHALBackend(QObject* parent)
: BackendInterface(parent),
m_brightnessInHardware(true),
m_halComputer("org.freedesktop.Hal",
@@ -64,6 +61,11 @@
qDeleteAll(m_buttons);
}
+bool PowerDevilHALBackend::isAvailable()
+{
+ return m_halPowerManagement.isValid();
+}
+
void PowerDevilHALBackend::init()
{
connect(Solid::DeviceNotifier::instance(), SIGNAL(deviceRemoved(const QString \
&)),
--- trunk/KDE/kdebase/workspace/powerdevil/daemon/backends/hal/powerdevilhalbackend.h \
#1199128:1199129 @@ -42,10 +42,11 @@
Q_OBJECT
Q_DISABLE_COPY(PowerDevilHALBackend)
public:
- explicit PowerDevilHALBackend(QObject* parent, const QVariantList&);
+ explicit PowerDevilHALBackend(QObject* parent);
virtual ~PowerDevilHALBackend();
virtual void init();
+ virtual bool isAvailable();
virtual float brightness(BrightnessControlType type = Screen) const;
--- trunk/KDE/kdebase/workspace/powerdevil/daemon/backends/upower/CMakeLists.txt \
#1199128:1199129 @@ -1,5 +1,3 @@
-find_package(X11)
-
include_directories(${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR} ${X11_INCLUDE_DIR} ${QT_INCLUDE_DIR} \
${X11_Xrandr_INCLUDE_PATH})
--- trunk/KDE/kdebase/workspace/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp \
#1199128:1199129 @@ -31,10 +31,7 @@
#include "xrandrbrightness.h"
#include "upowersuspendjob.h"
-K_PLUGIN_FACTORY(PowerDevilUpowerBackendFactory, \
registerPlugin<PowerDevilUPowerBackend>(); )
-K_EXPORT_PLUGIN(PowerDevilUpowerBackendFactory("powerdevilupowerbackend"))
-
-PowerDevilUPowerBackend::PowerDevilUPowerBackend(QObject* parent, const \
QVariantList&) +PowerDevilUPowerBackend::PowerDevilUPowerBackend(QObject* parent)
: BackendInterface(parent),
m_brightNessControl(new XRandrBrightness()),
m_upowerInterface(new OrgFreedesktopUPowerInterface(UPOWER_SERVICE, \
"/org/freedesktop/UPower", QDBusConnection::systemBus(), parent)), @@ -51,6 +48,11 @@
delete m_kbdBacklight;
}
+bool PowerDevilUPowerBackend::isAvailable()
+{
+ return m_upowerInterface->isValid();
+}
+
void PowerDevilUPowerBackend::init()
{
// devices
--- trunk/KDE/kdebase/workspace/powerdevil/daemon/backends/upower/powerdevilupowerbackend.h \
#1199128:1199129 @@ -42,10 +42,11 @@
Q_OBJECT
Q_DISABLE_COPY(PowerDevilUPowerBackend)
public:
- explicit PowerDevilUPowerBackend(QObject* parent, const QVariantList&);
+ explicit PowerDevilUPowerBackend(QObject* parent);
virtual ~PowerDevilUPowerBackend();
virtual void init();
+ virtual bool isAvailable();
virtual float brightness(BrightnessControlType type = Screen) const;
--- trunk/KDE/kdebase/workspace/powerdevil/daemon/powerdevilbackendinterface.h \
#1199128:1199129 @@ -112,6 +112,8 @@
virtual void init() = 0;
+ virtual bool isAvailable() = 0;
+
/**
* Retrieves the current state of the system battery.
*
--- trunk/KDE/kdebase/workspace/powerdevil/daemon/powerdevilcore.cpp #1199128:1199129
@@ -26,6 +26,7 @@
#include "powerdevilaction.h"
#include "powerdevilactionpool.h"
#include "powerdevilbackendinterface.h"
+#include "powerdevilbackendloader.h"
#include "powerdevilfdoconnector.h"
#include "powerdevilpolicyagent.h"
#include "powerdevilprofilegenerator.h"
@@ -58,28 +59,14 @@
, m_criticalBatteryTimer(new QTimer(this))
{
// Before doing anything, let's set up our backend
- KService::List offers = KServiceTypeTrader::self()->query("PowerDevilBackend", \
"(Type == 'Service')");
- QString error_string;
+ m_backend = PowerDevil::BackendLoader::loadBackend(this);
- foreach (const KService::Ptr &ptr, offers) {
- m_backend = ptr->createInstance<PowerDevil::BackendInterface>(0, \
QVariantList(), &error_string);
-
- if (!m_backend != 0) {
- kDebug() << "Error loading '" << ptr->name() << "', KService said: " << \
error_string;
- }
- }
-
if (!m_backend) {
// Ouch
kError() << "KDE Power Management System init failed!";
- if (error_string.isEmpty() && offers.isEmpty()) {
- // No offers were available
- onBackendError(i18n("No valid Power Management backend plugins were \
found. " + onBackendError(i18n("No valid Power Management backend plugins are \
available. "
"A new installation might solve this problem."));
} else {
- onBackendError(error_string);
- }
- } else {
// Async backend init - so that KDED gets a bit of a speed up
connect(m_backend, SIGNAL(backendReady()), this, SLOT(onBackendReady()));
connect(m_backend, SIGNAL(backendError(QString)), this, \
SLOT(onBackendError(QString))); @@ -95,12 +82,12 @@
void Core::onBackendReady()
{
- kDebug() << "Backend is ready, PowerDevil system initialized";
+ kDebug() << "Backend is ready, KDE Power Management system initialized";
if (QDBusConnection::systemBus().interface()->isServiceRegistered("org.freedesktop.PowerManagement") \
||
QDBusConnection::systemBus().interface()->isServiceRegistered("com.novell.powersave") \
||
QDBusConnection::systemBus().interface()->isServiceRegistered("org.freedesktop.Policy.Power")) \
{
- kError() << "PowerDevil not initialized, another power manager has been \
detected"; + kError() << "KDE Power Management system not initialized, another \
power manager has been detected"; return;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic