summaryrefslogtreecommitdiff
authorzecke <zecke>2004-11-03 23:02:13 (UTC)
committer zecke <zecke>2004-11-03 23:02:13 (UTC)
commita6adcd3869b9c9c7548290ea686bc4e78ed62fc3 (patch) (unidiff)
tree0916443be21889c567de40b90de27d34f793484d
parent07900eb7986f63e56072b1fb8fe5dbf846c8519d (diff)
downloadopie-a6adcd3869b9c9c7548290ea686bc4e78ed62fc3.zip
opie-a6adcd3869b9c9c7548290ea686bc4e78ed62fc3.tar.gz
opie-a6adcd3869b9c9c7548290ea686bc4e78ed62fc3.tar.bz2
-Create a QPE/System channel (sysMessage:QCopChannel from QPEApplication
can't be used) -'Forward' receiving of messages to the 'systemMessageSignal'
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/oapplication.cpp7
-rw-r--r--libopie2/opiecore/oapplication.h11
2 files changed, 18 insertions, 0 deletions
diff --git a/libopie2/opiecore/oapplication.cpp b/libopie2/opiecore/oapplication.cpp
index 0ce61d8..0164957 100644
--- a/libopie2/opiecore/oapplication.cpp
+++ b/libopie2/opiecore/oapplication.cpp
@@ -26,16 +26,19 @@
26 Inc., 59 Temple Place - Suite 330, 26 Inc., 59 Temple Place - Suite 330,
27 Boston, MA 02111-1307, USA. 27 Boston, MA 02111-1307, USA.
28*/ 28*/
29 29
30#include <opie2/oapplication.h> 30#include <opie2/oapplication.h>
31#include <opie2/oconfig.h> 31#include <opie2/oconfig.h>
32#include <opie2/odebug.h> 32#include <opie2/odebug.h>
33 33
34#include <qcopchannel_qws.h>
35
36
34#include <signal.h> 37#include <signal.h>
35#include <stdio.h> 38#include <stdio.h>
36 39
37using namespace Opie::Core; 40using namespace Opie::Core;
38 41
39 42
40OApplication* OApplication::_instance = 0; 43OApplication* OApplication::_instance = 0;
41 44
@@ -96,16 +99,20 @@ OConfig* OApplication::config()
96 99
97 100
98void OApplication::init() 101void OApplication::init()
99{ 102{
100 d = new Internal::OApplicationPrivate(); 103 d = new Internal::OApplicationPrivate();
101 if ( !OApplication::_instance ) 104 if ( !OApplication::_instance )
102 { 105 {
103 OApplication::_instance = this; 106 OApplication::_instance = this;
107
108 QCopChannel *chan = new QCopChannel("QPE/System", this, "OApplication System Channel");
109 connect(chan,SIGNAL(received(const QCString&,const QByteArray&)),
110 this,SIGNAL(systemMessageSignal(const QCString&,const QByteArray&)));
104 111
105 /* register SIGSEGV handler to give programs an option 112 /* register SIGSEGV handler to give programs an option
106 * to exit gracefully, e.g. save or close devices or files. 113 * to exit gracefully, e.g. save or close devices or files.
107 struct sigaction sa; 114 struct sigaction sa;
108 sa.sa_handler = ( void (*)(int) ) &segv_handler; 115 sa.sa_handler = ( void (*)(int) ) &segv_handler;
109 sa.sa_flags = SA_SIGINFO | SA_RESTART; 116 sa.sa_flags = SA_SIGINFO | SA_RESTART;
110 sigemptyset(&sa.sa_mask); 117 sigemptyset(&sa.sa_mask);
111 sigaction(SIGSEGV, &sa, NULL); 118 sigaction(SIGSEGV, &sa, NULL);
diff --git a/libopie2/opiecore/oapplication.h b/libopie2/opiecore/oapplication.h
index d34e6b1..709d73a 100644
--- a/libopie2/opiecore/oapplication.h
+++ b/libopie2/opiecore/oapplication.h
@@ -96,16 +96,27 @@ class OApplication : public QPEApplication
96 /** 96 /**
97 * Set the application title. The application title will be concatenated 97 * Set the application title. The application title will be concatenated
98 * to the application name given in the constructor. 98 * to the application name given in the constructor.
99 * 99 *
100 * @param title the title. If not given, resets caption to appname 100 * @param title the title. If not given, resets caption to appname
101 */ 101 */
102 virtual void setTitle( const QString& title = QString::null ) const; 102 virtual void setTitle( const QString& title = QString::null ) const;
103 103
104 signals:
105
106 /**
107 * Emit signals when messages are received on QPE/System
108 * QCOP Channel.
109 *
110 * @param msg The QCOP Message
111 * @param data The QCOP Data
112 */
113 void systemMessageSignal(const QCString& msg, const QByteArray& data);
114
104 protected: 115 protected:
105 void init(); 116 void init();
106 117
107 private: 118 private:
108 const QCString _appname; 119 const QCString _appname;
109 static OApplication* _instance; 120 static OApplication* _instance;
110 OConfig* _config; 121 OConfig* _config;
111 Internal::OApplicationPrivate* d; 122 Internal::OApplicationPrivate* d;