author | zecke <zecke> | 2004-11-03 23:02:13 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-11-03 23:02:13 (UTC) |
commit | a6adcd3869b9c9c7548290ea686bc4e78ed62fc3 (patch) (unidiff) | |
tree | 0916443be21889c567de40b90de27d34f793484d | |
parent | 07900eb7986f63e56072b1fb8fe5dbf846c8519d (diff) | |
download | opie-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'
-rw-r--r-- | libopie2/opiecore/oapplication.cpp | 7 | ||||
-rw-r--r-- | libopie2/opiecore/oapplication.h | 11 |
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 | ||
37 | using namespace Opie::Core; | 40 | using namespace Opie::Core; |
38 | 41 | ||
39 | 42 | ||
40 | OApplication* OApplication::_instance = 0; | 43 | OApplication* OApplication::_instance = 0; |
41 | 44 | ||
@@ -96,16 +99,20 @@ OConfig* OApplication::config() | |||
96 | 99 | ||
97 | 100 | ||
98 | void OApplication::init() | 101 | void 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; |