diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 2bda8f7717adf28da4af0d34fb82f63d2868c31d (patch) | |
tree | 8d927b7b47a90c4adb646482a52613f58acd6f8c /kmilo/delli8k/delli8k.h | |
download | tdeutils-2bda8f7717adf28da4af0d34fb82f63d2868c31d.tar.gz tdeutils-2bda8f7717adf28da4af0d34fb82f63d2868c31d.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeutils@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kmilo/delli8k/delli8k.h')
-rw-r--r-- | kmilo/delli8k/delli8k.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/kmilo/delli8k/delli8k.h b/kmilo/delli8k/delli8k.h new file mode 100644 index 0000000..d33f6ff --- /dev/null +++ b/kmilo/delli8k/delli8k.h @@ -0,0 +1,89 @@ +/* + This file is part of the KDE project + + Copyright (c) 2004 Barry O'Donovan <barry.odonovan@kdemail.net> + + The code in this module is heavily based on: + - the Asus Laptop plug-in for KMilo + Copyright (c) 2004 Chris Howells (howells@kde.org) + - the Thinkpad plug-in + Copyright (c) 2004 Jonathan Riddell (jr@jriddell.org) + - the i8k kernel module and utilities (http://www.debian.org/~dz/i8k/) + Copyright (c) 2001-2003 Massimo Dal Zotto <dz@debian.org> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef DELLI8K_H +#define DELLI8K_H + +#include <kapplication.h> +#include <dcopref.h> + +#include "monitor.h" + +#define DELLI8K_VOLUME_STEPSIZE 5 + +namespace KMilo { + + +/** + * KMilo plugin for Dell Laptops (conforming to the i8k driver) + */ +class DellI8kMonitor: public Monitor +{ + public: + DellI8kMonitor( QObject *parent, const char *name, const QStringList& ); + virtual ~DellI8kMonitor(); + + /** + * Reimplemented from KMilo::Monitor. + * Loads configuration. + */ + virtual bool init(); + + /** + * Reimplemented from KMilo::Monitor. + * Called by KMilo, this checks the /proc file system and acts on any changes + */ + virtual DisplayType poll(); + + /** + * Reimplemented from KMilo::Monitor. + * Called by KMilo if poll() returns a volume change. + * Returns the new volume percentage. + */ + virtual int progress() const; + + private: + + void setVolume( int volume ); + void setMute( bool b ); + DCOPRef *kmixClient; + DCOPRef *kmixWindow; + bool retrieveVolume(); + bool retrieveMute(); + int m_status, m_volume; + bool m_mute; + + int m_progress; + int m_fd; + + int fn_status( int fd ); +}; + +} //close namespace + +#endif |