author | zecke <zecke> | 2004-11-03 23:02:13 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-11-03 23:02:13 (UTC) |
commit | a6adcd3869b9c9c7548290ea686bc4e78ed62fc3 (patch) (side-by-side diff) | |
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 @@ -22,24 +22,27 @@ -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include <opie2/oapplication.h> #include <opie2/oconfig.h> #include <opie2/odebug.h> +#include <qcopchannel_qws.h> + + #include <signal.h> #include <stdio.h> using namespace Opie::Core; OApplication* OApplication::_instance = 0; /************************************************************************************************** * OApplicationPrivate **************************************************************************************************/ @@ -92,24 +95,28 @@ OConfig* OApplication::config() _config = new OConfig( _appname ); } return _config; } void OApplication::init() { d = new Internal::OApplicationPrivate(); if ( !OApplication::_instance ) { 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; sa.sa_handler = ( void (*)(int) ) &segv_handler; sa.sa_flags = SA_SIGINFO | SA_RESTART; sigemptyset(&sa.sa_mask); sigaction(SIGSEGV, &sa, NULL); */ } else { 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 @@ -92,24 +92,35 @@ class OApplication : public QPEApplication /** * Shows the main @a widget and sets the name of the application as window caption. */ virtual void showMainWidget( QWidget* widget, bool nomax = false ); /** * Set the application title. The application title will be concatenated * to the application name given in the constructor. * * @param title the title. If not given, resets caption to appname */ 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(); private: const QCString _appname; static OApplication* _instance; OConfig* _config; Internal::OApplicationPrivate* d; }; } // Core } // Opie |