summaryrefslogtreecommitdiffstats
path: root/src/plugins/generic
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2016-08-16 10:01:05 +0200
committerMarc Mutz <marc.mutz@kdab.com>2016-09-03 05:07:28 +0000
commit7f801ed73a3b9e9098fafed64c21e98ae7d73dff (patch)
tree04576916fc6d1b967f6b4a975b61b7c926a74865 /src/plugins/generic
parent7fb34481617cb1a283082cb12885dd3f625e77a2 (diff)
tuiotouch: clean up
- order includes from most specific to most general - include only what you need - port uses of inefficient QLists to QVector (required adding default ctors to the payload types) - mark types as Q_MOVABLE_TYPE - inline some trivial functions - add explicit to ctors - mark plugin with QT_NO_FOREACH Change-Id: I7ae13141ece22bfdf49be42deb0987d51da2d72b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Diffstat (limited to 'src/plugins/generic')
-rw-r--r--src/plugins/generic/tuiotouch/qoscbundle.cpp23
-rw-r--r--src/plugins/generic/tuiotouch/qoscbundle_p.h19
-rw-r--r--src/plugins/generic/tuiotouch/qoscmessage.cpp25
-rw-r--r--src/plugins/generic/tuiotouch/qoscmessage_p.h18
-rw-r--r--src/plugins/generic/tuiotouch/qtuiocursor_p.h1
-rw-r--r--src/plugins/generic/tuiotouch/qtuiohandler.cpp23
-rw-r--r--src/plugins/generic/tuiotouch/qtuiotoken_p.h1
-rw-r--r--src/plugins/generic/tuiotouch/tuiotouch.pro1
8 files changed, 53 insertions, 58 deletions
diff --git a/src/plugins/generic/tuiotouch/qoscbundle.cpp b/src/plugins/generic/tuiotouch/qoscbundle.cpp
index 6ddca9b09d..b84ae39aca 100644
--- a/src/plugins/generic/tuiotouch/qoscbundle.cpp
+++ b/src/plugins/generic/tuiotouch/qoscbundle.cpp
@@ -38,17 +38,20 @@
**
****************************************************************************/
+#include "qoscbundle_p.h"
+#include "qtuio_p.h"
+
#include <QtEndian>
#include <QDebug>
#include <QLoggingCategory>
-#include "qoscbundle_p.h"
-#include "qtuio_p.h"
QT_BEGIN_NAMESPACE
Q_LOGGING_CATEGORY(lcTuioBundle, "qt.qpa.tuio.bundle")
+QOscBundle::QOscBundle() {}
+
// TUIO packets are transmitted using the OSC protocol, located at:
// http://opensoundcontrol.org/specification
// Snippets of this specification have been pasted into the source as a means of
@@ -172,21 +175,5 @@ QOscBundle::QOscBundle(const QByteArray &data)
}
}
-
-bool QOscBundle::isValid() const
-{
- return m_isValid;
-}
-
-QList<QOscBundle> QOscBundle::bundles() const
-{
- return m_bundles;
-}
-
-QList<QOscMessage> QOscBundle::messages() const
-{
- return m_messages;
-}
-
QT_END_NAMESPACE
diff --git a/src/plugins/generic/tuiotouch/qoscbundle_p.h b/src/plugins/generic/tuiotouch/qoscbundle_p.h
index e95a202ae7..cb3ec4d251 100644
--- a/src/plugins/generic/tuiotouch/qoscbundle_p.h
+++ b/src/plugins/generic/tuiotouch/qoscbundle_p.h
@@ -43,25 +43,32 @@
#include "qoscmessage_p.h"
+#include <QtCore/QVector>
+
QT_BEGIN_NAMESPACE
+class QByteArray;
+
class QOscBundle
{
+ QOscBundle(); // for QVector, don't use
+ friend class QVector<QOscBundle>;
public:
- QOscBundle(const QByteArray &data);
+ explicit QOscBundle(const QByteArray &data);
- bool isValid() const;
- QList<QOscBundle> bundles() const;
- QList<QOscMessage> messages() const;
+ bool isValid() const { return m_isValid; }
+ QVector<QOscBundle> bundles() const { return m_bundles; }
+ QVector<QOscMessage> messages() const { return m_messages; }
private:
bool m_isValid;
bool m_immediate;
quint32 m_timeEpoch;
quint32 m_timePico;
- QList<QOscBundle> m_bundles;
- QList<QOscMessage> m_messages;
+ QVector<QOscBundle> m_bundles;
+ QVector<QOscMessage> m_messages;
};
+Q_DECLARE_TYPEINFO(QOscBundle, Q_MOVABLE_TYPE);
QT_END_NAMESPACE
diff --git a/src/plugins/generic/tuiotouch/qoscmessage.cpp b/src/plugins/generic/tuiotouch/qoscmessage.cpp
index 6f82cd784b..b2004903bd 100644
--- a/src/plugins/generic/tuiotouch/qoscmessage.cpp
+++ b/src/plugins/generic/tuiotouch/qoscmessage.cpp
@@ -38,19 +38,19 @@
**
****************************************************************************/
-#include <QByteArray>
+#include "qoscmessage_p.h"
+#include "qtuio_p.h"
+
#include <QDebug>
#include <QtEndian>
-#include <QVariant>
#include <QLoggingCategory>
-#include "qoscmessage_p.h"
-#include "qtuio_p.h"
-
QT_BEGIN_NAMESPACE
Q_LOGGING_CATEGORY(lcTuioMessage, "qt.qpa.tuio.message")
+QOscMessage::QOscMessage() {}
+
// TUIO packets are transmitted using the OSC protocol, located at:
// http://opensoundcontrol.org/specification
// Snippets of this specification have been pasted into the source as a means of
@@ -125,20 +125,5 @@ QOscMessage::QOscMessage(const QByteArray &data)
qCDebug(lcTuioMessage) << "Message with address pattern: " << addressPattern << " arguments: " << arguments;
}
-bool QOscMessage::isValid() const
-{
- return m_isValid;
-}
-
-QByteArray QOscMessage::addressPattern() const
-{
- return m_addressPattern;
-}
-
-QList<QVariant> QOscMessage::arguments() const
-{
- return m_arguments;
-}
-
QT_END_NAMESPACE
diff --git a/src/plugins/generic/tuiotouch/qoscmessage_p.h b/src/plugins/generic/tuiotouch/qoscmessage_p.h
index 788a03e504..76d40ceb18 100644
--- a/src/plugins/generic/tuiotouch/qoscmessage_p.h
+++ b/src/plugins/generic/tuiotouch/qoscmessage_p.h
@@ -41,22 +41,32 @@
#ifndef QOSCMESSAGE_P_H
#define QOSCMESSAGE_P_H
+#include <QtCore/QByteArray>
+#include <QtCore/QVariant>
+#include <QtCore/QVector>
+#include <QtCore/QList>
+
+
QT_BEGIN_NAMESPACE
class QOscMessage
{
+ QOscMessage(); // for QVector, don't use
+ friend class QVector<QOscMessage>;
public:
- QOscMessage(const QByteArray &data);
- bool isValid() const;
+ explicit QOscMessage(const QByteArray &data);
+
+ bool isValid() const { return m_isValid; }
- QByteArray addressPattern() const;
- QList<QVariant> arguments() const;
+ QByteArray addressPattern() const { return m_addressPattern; }
+ QList<QVariant> arguments() const { return m_arguments; }
private:
bool m_isValid;
QByteArray m_addressPattern;
QList<QVariant> m_arguments;
};
+Q_DECLARE_TYPEINFO(QOscMessage, Q_MOVABLE_TYPE);
QT_END_NAMESPACE
diff --git a/src/plugins/generic/tuiotouch/qtuiocursor_p.h b/src/plugins/generic/tuiotouch/qtuiocursor_p.h
index 2ff762b836..46134e6f3f 100644
--- a/src/plugins/generic/tuiotouch/qtuiocursor_p.h
+++ b/src/plugins/generic/tuiotouch/qtuiocursor_p.h
@@ -102,6 +102,7 @@ private:
float m_acceleration;
Qt::TouchPointState m_state;
};
+Q_DECLARE_TYPEINFO(QTuioCursor, Q_MOVABLE_TYPE); // Q_PRIMITIVE_TYPE: not possible, m_state is = 1, not 0.
QT_END_NAMESPACE
diff --git a/src/plugins/generic/tuiotouch/qtuiohandler.cpp b/src/plugins/generic/tuiotouch/qtuiohandler.cpp
index 38105fe656..26b88d6d78 100644
--- a/src/plugins/generic/tuiotouch/qtuiohandler.cpp
+++ b/src/plugins/generic/tuiotouch/qtuiohandler.cpp
@@ -38,19 +38,22 @@
**
****************************************************************************/
-#include <QLoggingCategory>
-#include <QRect>
-#include <QWindow>
-#include <QGuiApplication>
-#include <QTouchDevice>
-#include <qmath.h>
-
-#include <qpa/qwindowsysteminterface.h>
+#include "qtuiohandler_p.h"
#include "qtuiocursor_p.h"
#include "qtuiotoken_p.h"
-#include "qtuiohandler_p.h"
#include "qoscbundle_p.h"
+#include "qoscmessage_p.h"
+
+#include <qpa/qwindowsysteminterface.h>
+
+#include <QTouchDevice>
+#include <QWindow>
+#include <QGuiApplication>
+
+#include <QLoggingCategory>
+#include <QRect>
+#include <qmath.h>
QT_BEGIN_NAMESPACE
@@ -151,7 +154,7 @@ void QTuioHandler::processPackets()
// messages. The FSEQ frame ID is incremented for each delivered bundle,
// while redundant bundles can be marked using the frame sequence ID
// -1."
- QList<QOscMessage> messages;
+ QVector<QOscMessage> messages;
QOscBundle bundle(datagram);
if (bundle.isValid()) {
diff --git a/src/plugins/generic/tuiotouch/qtuiotoken_p.h b/src/plugins/generic/tuiotouch/qtuiotoken_p.h
index 5084aeed11..b784190d53 100644
--- a/src/plugins/generic/tuiotouch/qtuiotoken_p.h
+++ b/src/plugins/generic/tuiotouch/qtuiotoken_p.h
@@ -138,6 +138,7 @@ private:
float m_angularAcceleration;
Qt::TouchPointState m_state;
};
+Q_DECLARE_TYPEINFO(QTuioToken, Q_MOVABLE_TYPE); // Q_PRIMITIVE_TYPE: not possible: m_id, m_classId == -1
QT_END_NAMESPACE
diff --git a/src/plugins/generic/tuiotouch/tuiotouch.pro b/src/plugins/generic/tuiotouch/tuiotouch.pro
index ad6a1c6876..08f7036c92 100644
--- a/src/plugins/generic/tuiotouch/tuiotouch.pro
+++ b/src/plugins/generic/tuiotouch/tuiotouch.pro
@@ -21,6 +21,7 @@ HEADERS += \
OTHER_FILES += \
tuiotouch.json
+DEFINES += QT_NO_FOREACH
PLUGIN_TYPE = generic
PLUGIN_EXTENDS = -
PLUGIN_CLASS_NAME = QTuioTouchPlugin