summaryrefslogtreecommitdiff
path: root/noncore
authorpaule <paule>2007-02-06 04:51:37 (UTC)
committer paule <paule>2007-02-06 04:51:37 (UTC)
commit97b2152a21890f05a2217dddfcba6c820c00aa24 (patch) (unidiff)
tree55b859fbea71840f15368ec7b4b9e2de2c4f9879 /noncore
parenta505f79190d4d14a7c9595af3e9b78d9c613da21 (diff)
downloadopie-97b2152a21890f05a2217dddfcba6c820c00aa24.zip
opie-97b2152a21890f05a2217dddfcba6c820c00aa24.tar.gz
opie-97b2152a21890f05a2217dddfcba6c820c00aa24.tar.bz2
Start lircd on application start, and stop it on quit
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/remote/lirchandler.cpp25
-rw-r--r--noncore/tools/remote/lirchandler.h5
-rw-r--r--noncore/tools/remote/remote.cpp40
3 files changed, 51 insertions, 19 deletions
diff --git a/noncore/tools/remote/lirchandler.cpp b/noncore/tools/remote/lirchandler.cpp
index 263b740..ec1e275 100644
--- a/noncore/tools/remote/lirchandler.cpp
+++ b/noncore/tools/remote/lirchandler.cpp
@@ -21,3 +21,2 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21#include <sys/types.h> 21#include <sys/types.h>
22#include <sys/un.h>
23#include <unistd.h> 22#include <unistd.h>
@@ -29,2 +28,3 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29#include <opie2/oprocess.h> 28#include <opie2/oprocess.h>
29#include <qpe/qcopenvelope_qws.h>
30 30
@@ -270 +270,24 @@ bool LircHandler::isLircdRunning(void)
270} 270}
271
272bool LircHandler::setupModules(void)
273{
274 // Remove IrDA modules which get in the way
275 system("rmmod ircomm-tty ircomm");
276 // Load LIRC device driver
277 system("modprobe lirc_sir");
278 return true;
279}
280
281bool LircHandler::cleanupModules(void)
282{
283 // Unload LIRC device driver
284 system("rmmod lirc_sir");
285 // Load IrDA drivers back in
286 system("modprobe ircomm-tty");
287 return true;
288}
289
290void LircHandler::disableIrDA(void)
291{
292 QCopEnvelope e("QPE/IrDaApplet", "disableIrda()");
293}
diff --git a/noncore/tools/remote/lirchandler.h b/noncore/tools/remote/lirchandler.h
index c7665cb..4e56b6b 100644
--- a/noncore/tools/remote/lirchandler.h
+++ b/noncore/tools/remote/lirchandler.h
@@ -19,2 +19,4 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 19
20#include <sys/un.h>
21
20class LircHandler 22class LircHandler
@@ -35,2 +37,5 @@ public:
35 bool isLircdRunning(void); 37 bool isLircdRunning(void);
38 bool setupModules(void);
39 bool cleanupModules(void);
40 void disableIrDA(void);
36}; 41};
diff --git a/noncore/tools/remote/remote.cpp b/noncore/tools/remote/remote.cpp
index 67fc57d..5b756cb 100644
--- a/noncore/tools/remote/remote.cpp
+++ b/noncore/tools/remote/remote.cpp
@@ -41,20 +41,24 @@ int main( int argc, char **argv )
41{ 41{
42 QPEApplication a( argc, argv ); 42 QPEApplication a( argc, argv );
43 MainView w; 43
44 a.setMainWidget( &w ); 44 LircHandler lh;
45 QPEApplication::showWidget( &w ); 45
46 46 lh.disableIrDA();
47 LircHandler lh; 47 lh.setupModules();
48 if(!lh.isLircdRunning()) { 48 lh.startLircd();
49 QMessageBox mb("Error!", 49 if(!lh.isLircdRunning()) {
50 "Lircd is not running", 50 QMessageBox::critical(NULL, QObject::tr("Error"),
51 QMessageBox::NoIcon, 51 QObject::tr("Unable to start lircd"),
52 QMessageBox::Ok, 52 QMessageBox::Ok, QMessageBox::NoButton);
53 QMessageBox::NoButton, 53 }
54 QMessageBox::NoButton); 54
55 mb.exec(); 55 MainView w;
56 56 a.setMainWidget( &w );
57 } 57 QPEApplication::showWidget( &w );
58 58 int result = a.exec();
59 return a.exec(); 59
60 lh.stopLircd();
61 lh.cleanupModules();
62
63 return result;
60} 64}