qa: Replace deprecated qVariantFromValue() by QVariant::fromValue()
[quassel.git] / src / common / basichandler.cpp
index c53468f..70a90f7 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2016 by the Quassel Project                        *
+ *   Copyright (C) 2005-2019 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
 
 #include "basichandler.h"
 
-#include <QMetaMethod>
-
-#include "logger.h"
-
-BasicHandler::BasicHandler(QObject *parent)
-    : QObject(parent),
-    _defaultHandler(-1),
-    _initDone(false),
-    _methodPrefix("handle")
-{
-}
+#include <utility>
 
+#include <QDebug>
+#include <QMetaMethod>
 
-BasicHandler::BasicHandler(const QString &methodPrefix, QObject *parent)
-    : QObject(parent),
-    _defaultHandler(-1),
-    _initDone(false),
-    _methodPrefix(methodPrefix)
-{
-}
+BasicHandler::BasicHandler(QObject* parent)
+    : QObject(parent)
+    , _methodPrefix("handle")
+{}
 
+BasicHandler::BasicHandler(QString methodPrefix, QObject* parent)
+    : QObject(parent)
+    , _methodPrefix(std::move(methodPrefix))
+{}
 
 QStringList BasicHandler::providesHandlers()
 {
     return handlerHash().keys();
 }
 
-
-const QHash<QString, int> &BasicHandler::handlerHash()
+const QHash<QString, int>& BasicHandler::handlerHash()
 {
     if (!_initDone) {
         for (int i = metaObject()->methodOffset(); i < metaObject()->methodCount(); i++) {
-#if QT_VERSION >= 0x050000
             QString methodSignature = metaObject()->method(i).methodSignature();
-#else
-            QString methodSignature = metaObject()->method(i).signature();
-#endif
             if (methodSignature.startsWith("defaultHandler")) {
                 _defaultHandler = i;
                 continue;
@@ -65,8 +53,8 @@ const QHash<QString, int> &BasicHandler::handlerHash()
             if (!methodSignature.startsWith(_methodPrefix))
                 continue;
 
-            methodSignature = methodSignature.section('(', 0, 0); // chop the attribute list
-            methodSignature = methodSignature.mid(_methodPrefix.length()); // strip "handle" or whatever the prefix is
+            methodSignature = methodSignature.section('(', 0, 0);           // chop the attribute list
+            methodSignature = methodSignature.mid(_methodPrefix.length());  // strip "handle" or whatever the prefix is
             _handlerHash[methodSignature] = i;
         }
         _initDone = true;
@@ -74,12 +62,16 @@ const QHash<QString, int> &BasicHandler::handlerHash()
     return _handlerHash;
 }
 
-
-void BasicHandler::handle(const QString &member, QGenericArgument val0,
-    QGenericArgument val1, QGenericArgument val2,
-    QGenericArgument val3, QGenericArgument val4,
-    QGenericArgument val5, QGenericArgument val6,
-    QGenericArgument val7, QGenericArgument val8)
+void BasicHandler::handle(const QString& member,
+                          QGenericArgument val0,
+                          QGenericArgument val1,
+                          QGenericArgument val2,
+                          QGenericArgument val3,
+                          QGenericArgument val4,
+                          QGenericArgument val5,
+                          QGenericArgument val6,
+                          QGenericArgument val7,
+                          QGenericArgument val8)
 {
     // Now we try to find a handler for this message. BTW, I do love the Trolltech guys ;-)
     // and now we even have a fast lookup! Thanks thiago!
@@ -93,14 +85,34 @@ void BasicHandler::handle(const QString &member, QGenericArgument val0,
             return;
         }
         else {
-            void *param[] = { 0, Q_ARG(QString, member).data(), val0.data(), val1.data(), val2.data(), val3.data(), val4.data(),
-                              val5.data(), val6.data(), val7.data(), val8.data(), val8.data() };
+            void* param[] = {nullptr,
+                             Q_ARG(QString, member).data(),
+                             val0.data(),
+                             val1.data(),
+                             val2.data(),
+                             val3.data(),
+                             val4.data(),
+                             val5.data(),
+                             val6.data(),
+                             val7.data(),
+                             val8.data(),
+                             val8.data()};
             qt_metacall(QMetaObject::InvokeMetaMethod, _defaultHandler, param);
             return;
         }
     }
 
-    void *param[] = { 0, val0.data(), val1.data(), val2.data(), val3.data(), val4.data(),
-                      val5.data(), val6.data(), val7.data(), val8.data(), val8.data(), 0 };
+    void* param[] = {nullptr,
+                     val0.data(),
+                     val1.data(),
+                     val2.data(),
+                     val3.data(),
+                     val4.data(),
+                     val5.data(),
+                     val6.data(),
+                     val7.data(),
+                     val8.data(),
+                     val8.data(),
+                     nullptr};
     qt_metacall(QMetaObject::InvokeMetaMethod, handlerHash()[handler], param);
 }