X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fbasichandler.cpp;h=8ccba9474ccc4d4ea5fd7772bcf9004c549774dd;hp=7e866e95290edc584a0a44347c3e921b220c14a5;hb=c0d6dc0dec628f2e143e37ecc95cec45e636f8a5;hpb=9d54503555534a2c554f09a33df6afa33d6308ec diff --git a/src/common/basichandler.cpp b/src/common/basichandler.cpp index 7e866e95..8ccba947 100644 --- a/src/common/basichandler.cpp +++ b/src/common/basichandler.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2020 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,39 +20,31 @@ #include "basichandler.h" -#include - -#include "logger.h" - -BasicHandler::BasicHandler(QObject *parent) - : QObject(parent), - _defaultHandler(-1), - _initDone(false), - _methodPrefix("handle") -{ -} +#include +#include +#include -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 &BasicHandler::handlerHash() +const QHash& BasicHandler::handlerHash() { if (!_initDone) { for (int i = metaObject()->methodOffset(); i < metaObject()->methodCount(); i++) { - QString methodSignature(metaObject()->method(i).signature()); + QString methodSignature = metaObject()->method(i).methodSignature(); if (methodSignature.startsWith("defaultHandler")) { _defaultHandler = i; continue; @@ -61,8 +53,8 @@ const QHash &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; @@ -70,12 +62,16 @@ const QHash &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! @@ -89,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); }