Use TDE hardware library instead of HAL

Remove spurious build files
pull/1/head
Timothy Pearson 12 years ago
parent c2c9050aba
commit bc8c073fb4

File diff suppressed because it is too large Load Diff

1021
aclocal.m4 vendored

File diff suppressed because it is too large Load Diff

@ -1,5 +1,8 @@
/* config.h.in. Generated from configure.in by autoheader. */
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
/* Define to 1 if you have the <Carbon/Carbon.h> header file. */
#undef HAVE_CARBON_CARBON_H
@ -96,6 +99,10 @@
/* Define a safe value for MAXPATHLEN */
#undef KDEMAXPATHLEN
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#undef LT_OBJDIR
/* Name of package */
#undef PACKAGE
@ -111,6 +118,9 @@
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
@ -141,9 +151,17 @@
/* Defined if compiling without arts */
#undef WITHOUT_ARTS
/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
# undef WORDS_BIGENDIAN
# endif
#endif
/*
* jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
@ -233,6 +251,9 @@ int snprintf(char *str, size_t n, char const *fmt, ...);
#endif
/* define to 1 if -fvisibility is supported */
#undef __KDE_HAVE_GCC_VISIBILITY
#if defined(__SVR4) && !defined(__svr4__)
#define __svr4__ 1

@ -1,140 +0,0 @@
dnl =======================================================
dnl FILE: ./admin/configure.in.min
dnl =======================================================
dnl This file is part of the KDE libraries/packages
dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org)
dnl This file is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU Library General Public
dnl License as published by the Free Software Foundation; either
dnl version 2 of the License, or (at your option) any later version.
dnl This library is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl Library General Public License for more details.
dnl You should have received a copy of the GNU Library General Public License
dnl along with this library; see the file COPYING.LIB. If not, write to
dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
dnl Boston, MA 02110-1301, USA.
# Original Author was Kalle@kde.org
# I lifted it in some mater. (Stephan Kulow)
# I used much code from Janos Farkas
dnl Process this file with autoconf to produce a configure script.
AC_INIT(acinclude.m4) dnl a source file from your sub dir
dnl This is so we can use kde-common
AC_CONFIG_AUX_DIR(admin)
dnl This ksh/zsh feature conflicts with `cd blah ; pwd`
unset CDPATH
dnl Checking host/target/build systems, for make, install etc.
AC_CANONICAL_SYSTEM
dnl Perform program name transformation
AC_ARG_PROGRAM
dnl Automake doc recommends to do this only here. (Janos)
AM_INIT_AUTOMAKE(kima, 0.7.3.2) dnl searches for some needed programs
KDE_SET_PREFIX
dnl generate the config header
AM_CONFIG_HEADER(config.h) dnl at the distribution this done
dnl Checks for programs.
AC_CHECK_COMPILERS
AC_ENABLE_SHARED(yes)
AC_ENABLE_STATIC(no)
KDE_PROG_LIBTOOL
dnl for NLS support. Call them in this order!
dnl WITH_NLS is for the po files
AM_KDE_WITH_NLS
KDE_USE_QT(3.0.0)
AC_PATH_KDE
dnl =======================================================
dnl FILE: configure.in.in
dnl =======================================================
#MIN_CONFIG(3.0.0)
dnl PACKAGE set before
AC_C_BIGENDIAN
AC_CHECK_KDEMAXPATHLEN
dnl check for (optional) nvcontrol
AC_ARG_WITH(nvcontrol,
AC_HELP_STRING([--with-nvcontrol=nvcontrol-dir],[uses libXNVCtrl.a instead of nvidia-settings for the NVidia thermal source]),
[with_nvcontrol=yes
nvcontrol_CFLAGS=-I$withval
nvcontrol_LIBS="-L$withval -lXNVCtrl"
AC_CHECK_FILE([$withval/NVCtrlLib.h], , AC_MSG_ERROR([Did not find NVCtrlLib.h. Make sure that you passed the correct path for NVControl. See README for details.]))
AC_DEFINE(HAVE_NVCONTROL, , [defined if compiling with NVControl support])])
AC_SUBST(nvcontrol_CFLAGS)
AC_SUBST(nvcontrol_LIBS)
dnl check for required hal minimal version 0.5.5
PKG_CHECK_MODULES(libhal, hal >= 0.5.5)
AC_SUBST(libhal_CFLAGS)
AC_SUBST(libhal_LIBS)
KDE_CREATE_SUBDIRSLIST
AC_CONFIG_FILES([ Makefile ])
AC_CONFIG_FILES([ doc/Makefile ])
AC_CONFIG_FILES([ doc/en/Makefile ])
AC_CONFIG_FILES([ po/Makefile ])
AC_CONFIG_FILES([ src/Makefile ])
AC_CONFIG_FILES([ src/cpufreqd/Makefile ])
AC_CONFIG_FILES([ src/sources/Makefile ])
AC_OUTPUT
# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure
if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then
# And if so, warn when they don't match
if test "$kde_libs_prefix" != "$given_prefix"; then
# And if kde doesn't know about the prefix yet
echo ":"`tde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null
if test $? -ne 0; then
echo ""
echo "Warning: you chose to install this package in $given_prefix,"
echo "but KDE was found in $kde_libs_prefix."
echo "For this to work, you will need to tell KDE about the new prefix, by ensuring"
echo "that TDEDIRS contains it, e.g. export TDEDIRS=$given_prefix:$kde_libs_prefix"
echo "Then restart KDE."
echo ""
fi
fi
fi
if test x$GXX = "xyes" -a x$kde_have_gcc_visibility = "xyes" -a x$kde_cv_val_qt_gcc_visibility_patched = "xno"; then
echo ""
echo "Your GCC supports symbol visibility, but the patch for Qt supporting visibility"
echo "was not included. Therefore, GCC symbol visibility support remains disabled."
echo ""
echo "For better performance, consider including the Qt visibility supporting patch"
echo "located at:"
echo ""
echo "http://bugs.kde.org/show_bug.cgi?id=109386"
echo ""
echo "and recompile all of Qt and KDE. Note, this is entirely optional and"
echo "everything will continue to work just fine without it."
echo ""
fi
if test "$all_tests" = "bad"; then
if test ! "$cache_file" = "/dev/null"; then
echo ""
echo "Please remove the file $cache_file after changing your setup"
echo "so that configure will find the changes next time."
echo ""
fi
else
echo ""
echo "Good - your configure finished. Start make now"
echo ""
fi

@ -17,7 +17,3 @@ AC_ARG_WITH(nvcontrol,
AC_SUBST(nvcontrol_CFLAGS)
AC_SUBST(nvcontrol_LIBS)
dnl check for required hal minimal version 0.5.5
PKG_CHECK_MODULES(libhal, hal >= 0.5.5)
AC_SUBST(libhal_CFLAGS)
AC_SUBST(libhal_LIBS)

@ -20,6 +20,3 @@ messages: rc.cpp
noinst_HEADERS = kima.h flowlayout.h sourcelistitem.h
SUBDIRS = cpufreqd sources
AM_CXXFLAGS = @libhal_CFLAGS@
LIBS += @libhal_LIBS@

@ -16,5 +16,5 @@ noinst_HEADERS = acpithermalsrc.h batterysrc.h cpuinfofreqsrc.h hddtempsrc.h \
omnibookthermalsrc.h source.h sysfreqsrc.h \
threadedtrigger.h triggeredsource.h updateevent.h uptimesrc.h
AM_CXXFLAGS = @libhal_CFLAGS@ @nvcontrol_CFLAGS@
LIBS += @libhal_LIBS@ @nvcontrol_LIBS@
AM_CXXFLAGS = @nvcontrol_CFLAGS@
LIBS += @nvcontrol_LIBS@

@ -22,120 +22,51 @@
#include <tdelocale.h>
#include <kdebug.h>
#define DBUS_DEBUG_MESSAGE(func, _dbus_err_) \
kdDebug() << "error in " << func << ": " << _dbus_err_.name << ", " << _dbus_err_.message << endl
#define FREE_DBUS_ERROR(func, _dbus_err_) \
do { \
if(dbus_error_is_set(&_dbus_err_)) { \
DBUS_DEBUG_MESSAGE(func, _dbus_err_); \
dbus_error_free(&_dbus_err_); \
} \
} while(0)
BatterySrc::BatterySrc(TQWidget* inParent, TQString inUDI):
LabelSource(inParent),
mTrigger(this, 5000),
mUDI(inUDI),
mLibHalContext(NULL){
mID = mUDI.section('/', -1);
mName = mID;
mDescription = i18n("This source displays the current state of charge of your battery.");
mHardwareDevices(NULL){
dbus_error_init(&mDBusError);
if((mLibHalContext = libhal_ctx_new()) == NULL){
kdDebug() << "error: libmLibHalContext_new" << endl;
return;
}
if(!libhal_ctx_set_dbus_connection(mLibHalContext, dbus_bus_get (DBUS_BUS_SYSTEM, &mDBusError))){
FREE_DBUS_ERROR("libhal_ctx_set_dbus_connection", mDBusError);
libhal_ctx_free(mLibHalContext);
mLibHalContext = NULL;
return;
}
if(!libhal_ctx_init(mLibHalContext, &mDBusError)){
FREE_DBUS_ERROR("libhal_ctx_init", mDBusError);
libhal_ctx_free(mLibHalContext);
mLibHalContext = NULL;
return;
mHardwareDevices = TDEGlobal::hardwareDevices();
TDEGenericDevice* hwdevice = mHardwareDevices->findByUniqueID(inUDI);
if (hwdevice->type() == TDEGenericDeviceType::Battery) {
TDEBatteryDevice* bdevice = static_cast<TDEBatteryDevice*>(hwdevice);
mID = bdevice->friendlyName();
}
mName = mID;
mDescription = i18n("This source displays the current state of charge of your battery.");
}
BatterySrc::~BatterySrc(){
if(mLibHalContext != NULL){
if(!libhal_ctx_shutdown(mLibHalContext, &mDBusError)){
FREE_DBUS_ERROR("libhal_ctx_shutdown", mDBusError);
}
libhal_ctx_free(mLibHalContext);
}
//
}
std::list<Source*>BatterySrc::createInstances(TQWidget* inParent){
std::list<Source*> list;
LibHalContext* libHalContext;
DBusError dBusError;
dbus_error_init(&dBusError);
if((libHalContext = libhal_ctx_new()) == NULL){
kdDebug() << "error: libmLibHalContext_new" << endl;
return list;
TDEHardwareDevices* hardwareDevices = TDEGlobal::hardwareDevices();
TDEGenericHardwareList hwlist = hardwareDevices->listAllPhysicalDevices();
TDEGenericDevice *hwdevice;
for (hwdevice = hwlist.first(); hwdevice; hwdevice = hwlist.next()) {
if (hwdevice->type() == TDEGenericDeviceType::Battery) {
list.push_back(new BatterySrc(inParent, hwdevice->uniqueID()));
}
if(!libhal_ctx_set_dbus_connection(libHalContext, dbus_bus_get (DBUS_BUS_SYSTEM, &dBusError))){
FREE_DBUS_ERROR("libhal_ctx_set_dbus_connection", dBusError);
libhal_ctx_free(libHalContext);
return list;
}
if(!libhal_ctx_init(libHalContext, &dBusError)){
FREE_DBUS_ERROR("libhal_ctx_init", dBusError);
libhal_ctx_free(libHalContext);
return list;
}
int num = 0;
char** udis = libhal_manager_find_device_string_match(libHalContext, "info.category", "battery", &num, &dBusError);
if(!dbus_error_is_set(&dBusError)){
for(int i = 0; i < num; ++i){
if(libhal_device_get_property_type(libHalContext, udis[i], "battery.charge_level.last_full", &dBusError) == LIBHAL_PROPERTY_TYPE_INT32 && libhal_device_get_property_type(libHalContext, udis[i], "battery.charge_level.current", &dBusError) == LIBHAL_PROPERTY_TYPE_INT32){
if(!dbus_error_is_set(&dBusError)) // todo: check whether this check is redundant
list.push_back(new BatterySrc(inParent, udis[i]));
}
if(dbus_error_is_set(&dBusError)) {
DBUS_DEBUG_MESSAGE("libhal_device_get_property_type", dBusError);
dbus_error_free(&dBusError);
}
}
} else {
DBUS_DEBUG_MESSAGE("libhal_manager_find_device_string_match", dBusError);
dbus_error_free(&dBusError);
}
if(!libhal_ctx_shutdown(libHalContext, &dBusError)){
FREE_DBUS_ERROR("libhal_ctx_shutdown", dBusError);
}
// clean up
libhal_ctx_free(libHalContext);
libhal_free_string_array(udis);
return list;
}
TQString BatterySrc::fetchValue() {
TQString s = "n/a";
if(mLibHalContext != NULL){
int last_full = 0;
int current = 0;
last_full = libhal_device_get_property_int(mLibHalContext, mUDI.ascii(), "battery.charge_level.last_full", &mDBusError);
if(dbus_error_is_set(&mDBusError)){
DBUS_DEBUG_MESSAGE("libhal_device_get_property_int", mDBusError);
dbus_error_free(&mDBusError);
return s;
}
current = libhal_device_get_property_int(mLibHalContext, mUDI.ascii(), "battery.charge_level.current", &mDBusError);
if(dbus_error_is_set(&mDBusError)){
DBUS_DEBUG_MESSAGE("libhal_device_get_property_int", mDBusError);
dbus_error_free(&mDBusError);
return s;
if (mHardwareDevices != NULL) {
TDEGenericDevice* hwdevice = mHardwareDevices->findByUniqueID(mUDI);
if (hwdevice->type() != TDEGenericDeviceType::Battery) {
return i18n("unknown");
}
s = TQString::number(tqRound((current * 100.0) / last_full)) + " %";
TDEBatteryDevice* bdevice = static_cast<TDEBatteryDevice*>(hwdevice);
s = TQString::number(bdevice->chargePercent()) + " %";
}
return s;
}

@ -25,7 +25,8 @@
#include <tqfile.h>
#include <tqstring.h>
#include <list>
#include <hal/libhal.h>
#include <tdehardwaredevices.h>
/**
* BatterySrc fetches the state of charge of the battery from HAL
@ -64,14 +65,8 @@ private:
TQString mUDI;
/**
* The local hal context
* The internal hardware library object
*/
LibHalContext* mLibHalContext;
/**
* The local dbus error object
*/
DBusError mDBusError;
TDEHardwareDevices* mHardwareDevices;
};
#endif //BATTERYSRC_H

@ -22,8 +22,6 @@
#include <tqtextstream.h>
#include <tqfile.h>
#include <tdelocale.h>
//#include "hal/libhal.h"
// hal-get-property --udi /org/freedesktop/Hal/devices/computer --key system.product
IBMACPIThermalSrc::IBMACPIThermalSrc(TQWidget* inParent, const TQFile& inSourceFile, unsigned int inIndex):
LabelSource(inParent),

Loading…
Cancel
Save