From 7f801ed73a3b9e9098fafed64c21e98ae7d73dff Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Tue, 16 Aug 2016 10:01:05 +0200 Subject: 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 Reviewed-by: Robin Burchell --- src/plugins/generic/tuiotouch/qoscbundle.cpp | 23 +++++------------------ src/plugins/generic/tuiotouch/qoscbundle_p.h | 19 +++++++++++++------ src/plugins/generic/tuiotouch/qoscmessage.cpp | 25 +++++-------------------- src/plugins/generic/tuiotouch/qoscmessage_p.h | 18 ++++++++++++++---- src/plugins/generic/tuiotouch/qtuiocursor_p.h | 1 + src/plugins/generic/tuiotouch/qtuiohandler.cpp | 23 +++++++++++++---------- src/plugins/generic/tuiotouch/qtuiotoken_p.h | 1 + src/plugins/generic/tuiotouch/tuiotouch.pro | 1 + 8 files changed, 53 insertions(+), 58 deletions(-) (limited to 'src/plugins/generic') 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 #include #include -#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::bundles() const -{ - return m_bundles; -} - -QList 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 + QT_BEGIN_NAMESPACE +class QByteArray; + class QOscBundle { + QOscBundle(); // for QVector, don't use + friend class QVector; public: - QOscBundle(const QByteArray &data); + explicit QOscBundle(const QByteArray &data); - bool isValid() const; - QList bundles() const; - QList messages() const; + bool isValid() const { return m_isValid; } + QVector bundles() const { return m_bundles; } + QVector messages() const { return m_messages; } private: bool m_isValid; bool m_immediate; quint32 m_timeEpoch; quint32 m_timePico; - QList m_bundles; - QList m_messages; + QVector m_bundles; + QVector 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 +#include "qoscmessage_p.h" +#include "qtuio_p.h" + #include #include -#include #include -#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 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 +#include +#include +#include + + QT_BEGIN_NAMESPACE class QOscMessage { + QOscMessage(); // for QVector, don't use + friend class QVector; public: - QOscMessage(const QByteArray &data); - bool isValid() const; + explicit QOscMessage(const QByteArray &data); + + bool isValid() const { return m_isValid; } - QByteArray addressPattern() const; - QList arguments() const; + QByteArray addressPattern() const { return m_addressPattern; } + QList arguments() const { return m_arguments; } private: bool m_isValid; QByteArray m_addressPattern; QList 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 -#include -#include -#include -#include -#include - -#include +#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 + +#include +#include +#include + +#include +#include +#include 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 messages; + QVector 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 -- cgit v1.2.3