summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxnavigatoreventnotifier.h
diff options
context:
space:
mode:
authorKevin Krammer <kevin.krammer.qnx@kdab.com>2012-04-10 11:26:12 +0200
committerQt by Nokia <qt-info@nokia.com>2012-04-12 15:00:33 +0200
commit4fac40f8b0e7b2a6f5f41eb82196e8b197bc851a (patch)
tree756147e942b5cf20c45cdeb2ad62ec0b63e618e1 /src/plugins/platforms/qnx/qqnxnavigatoreventnotifier.h
parent28675642f3445e41434b004c2a1a1d96ec0145a2 (diff)
Refactor navigator event handling
Separate PPS based navigator event notification handling and implementation of the actual event handling. Like the similar refactoring for screen events, this will allow to reuse the same event handler class for BPS driven event processing. Change-Id: I29d4a082cb01ff7943b7822ea9aa8ad622fda593 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxnavigatoreventnotifier.h')
-rw-r--r--src/plugins/platforms/qnx/qqnxnavigatoreventnotifier.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/plugins/platforms/qnx/qqnxnavigatoreventnotifier.h b/src/plugins/platforms/qnx/qqnxnavigatoreventnotifier.h
new file mode 100644
index 0000000000..bdf1220b56
--- /dev/null
+++ b/src/plugins/platforms/qnx/qqnxnavigatoreventnotifier.h
@@ -0,0 +1,77 @@
+/***************************************************************************
+**
+** Copyright (C) 2011 - 2012 Research In Motion
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QQNXNAVIGATOREVENTNOTIFIER_H
+#define QQNXNAVIGATOREVENTNOTIFIER_H
+
+#include <QObject>
+
+QT_BEGIN_NAMESPACE
+
+class QQnxNavigatorEventHandler;
+class QSocketNotifier;
+
+class QQnxNavigatorEventNotifier : public QObject
+{
+ Q_OBJECT
+public:
+ explicit QQnxNavigatorEventNotifier(QQnxNavigatorEventHandler *eventHandler, QObject *parent = 0);
+ ~QQnxNavigatorEventNotifier();
+
+public Q_SLOTS:
+ void start();
+
+private Q_SLOTS:
+ void readData();
+
+private:
+ void parsePPS(const QByteArray &ppsData, QByteArray &msg, QByteArray &dat, QByteArray &id);
+ void replyPPS(const QByteArray &res, const QByteArray &id, const QByteArray &dat);
+ void handleMessage(const QByteArray &msg, const QByteArray &dat, const QByteArray &id);
+
+ int m_fd;
+ QSocketNotifier *m_readNotifier;
+ QQnxNavigatorEventHandler *m_eventHandler;
+};
+
+QT_END_NAMESPACE
+
+#endif // QQNXNAVIGATOREVENTNOTIFIER_H