summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show 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
@@ -31,6 +31,9 @@
#include <opie2/oconfig.h>
#include <opie2/odebug.h>
+#include <qcopchannel_qws.h>
+
+
#include <signal.h>
#include <stdio.h>
@@ -102,6 +105,10 @@ void OApplication::init()
{
OApplication::_instance = this;
+ QCopChannel *chan = new QCopChannel("QPE/System", this, "OApplication System Channel");
+ connect(chan,SIGNAL(received(const QCString&,const QByteArray&)),
+ this,SIGNAL(systemMessageSignal(const QCString&,const QByteArray&)));
+
/* register SIGSEGV handler to give programs an option
* to exit gracefully, e.g. save or close devices or files.
struct sigaction sa;
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
@@ -101,6 +101,17 @@ class OApplication : public QPEApplication
*/
virtual void setTitle( const QString& title = QString::null ) const;
+ signals:
+
+ /**
+ * Emit signals when messages are received on QPE/System
+ * QCOP Channel.
+ *
+ * @param msg The QCOP Message
+ * @param data The QCOP Data
+ */
+ void systemMessageSignal(const QCString& msg, const QByteArray& data);
+
protected:
void init();