-rw-r--r-- | noncore/tools/remote/lirchandler.cpp | 25 | ||||
-rw-r--r-- | noncore/tools/remote/lirchandler.h | 5 | ||||
-rw-r--r-- | noncore/tools/remote/remote.cpp | 40 |
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 | |||
@@ -20,5 +20,4 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |||
20 | #include <sys/socket.h> | 20 | #include <sys/socket.h> |
21 | #include <sys/types.h> | 21 | #include <sys/types.h> |
22 | #include <sys/un.h> | ||
23 | #include <unistd.h> | 22 | #include <unistd.h> |
24 | #include <errno.h> | 23 | #include <errno.h> |
@@ -28,4 +27,5 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |||
28 | #include <qobject.h> | 27 | #include <qobject.h> |
29 | #include <opie2/oprocess.h> | 28 | #include <opie2/oprocess.h> |
29 | #include <qpe/qcopenvelope_qws.h> | ||
30 | 30 | ||
31 | #include "lirchandler.h" | 31 | #include "lirchandler.h" |
@@ -269,2 +269,25 @@ bool LircHandler::isLircdRunning(void) | |||
269 | return (OProcess::processPID("lircd") != 0); | 269 | return (OProcess::processPID("lircd") != 0); |
270 | } | 270 | } |
271 | |||
272 | bool 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 | |||
281 | bool 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 | |||
290 | void 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 | |||
@@ -18,4 +18,6 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |||
18 | #define LIRCHANDLER_H | 18 | #define LIRCHANDLER_H |
19 | 19 | ||
20 | #include <sys/un.h> | ||
21 | |||
20 | class LircHandler | 22 | class LircHandler |
21 | { | 23 | { |
@@ -34,4 +36,7 @@ public: | |||
34 | bool stopLircd(void); | 36 | bool stopLircd(void); |
35 | bool isLircdRunning(void); | 37 | bool isLircdRunning(void); |
38 | bool setupModules(void); | ||
39 | bool cleanupModules(void); | ||
40 | void disableIrDA(void); | ||
36 | }; | 41 | }; |
37 | 42 | ||
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 | |||
@@ -40,21 +40,25 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |||
40 | int main( int argc, char **argv ) | 40 | 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 | } |