summaryrefslogtreecommitdiff
path: root/libopie2/opiecore/oapplication.cpp
Unidiff
Diffstat (limited to 'libopie2/opiecore/oapplication.cpp') (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opiecore/oapplication.cpp7
1 files changed, 7 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
@@ -22,24 +22,27 @@
22 -.   .:....=;==+<; You should have received a copy of the GNU 22 -.   .:....=;==+<; You should have received a copy of the GNU
23  -_. . .   )=.  = Library General Public License along with 23  -_. . .   )=.  = Library General Public License along with
24    --        :-=` this library; see the file COPYING.LIB. 24    --        :-=` this library; see the file COPYING.LIB.
25 If not, write to the Free Software Foundation, 25 If not, write to the Free Software Foundation,
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
42/************************************************************************************************** 45/**************************************************************************************************
43 * OApplicationPrivate 46 * OApplicationPrivate
44 **************************************************************************************************/ 47 **************************************************************************************************/
45 48
@@ -93,24 +96,28 @@ OConfig* OApplication::config()
93 } 96 }
94 return _config; 97 return _config;
95} 98}
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;
104 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&)));
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);
112 */ 119 */
113 } 120 }
114 else 121 else
115 { 122 {
116 ofatal << "OApplication: Can't create more than one OApplication object. Aborting." << oendl; 123 ofatal << "OApplication: Can't create more than one OApplication object. Aborting." << oendl;