X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Firclisthelper.h;h=aee7cf12302fc06f603da75ea396e8081984598b;hp=8bf7f94ebd6a4291e9729461cfd05769fad4b18a;hb=3a3e844f9fcfd12235a0086af75ecd503b621ef4;hpb=fe4b38e66592f11fdf4c4651863968983daecd2d diff --git a/src/common/irclisthelper.h b/src/common/irclisthelper.h index 8bf7f94e..aee7cf12 100644 --- a/src/common/irclisthelper.h +++ b/src/common/irclisthelper.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -15,11 +15,14 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef IRCLISTHELPER_H -#define IRCLISTHELPER_H +#pragma once + +#include + +#include "common-export.h" #include "syncableobject.h" #include "types.h" @@ -32,27 +35,24 @@ * when RPL_LISTEND is received the clients will be informed, that they can pull the data * 3.) client pulls the data by calling requestChannelList again. receiving the data in receiveChannelList */ -class IrcListHelper : public SyncableObject { - Q_OBJECT +class COMMON_EXPORT IrcListHelper : public SyncableObject +{ + Q_OBJECT + SYNCABLE_OBJECT public: - inline IrcListHelper(QObject *parent = 0) : SyncableObject(parent) {}; + inline IrcListHelper(QObject *parent = nullptr) : SyncableObject(parent) { setInitialized(); }; - struct ChannelDescription { - QString channelName; - quint32 userCount; - QString topic; - ChannelDescription(const QString &channelName_, quint32 userCount_, const QString &topic_) : channelName(channelName_), userCount(userCount_), topic(topic_) {}; - }; + struct ChannelDescription { + QString channelName; + quint32 userCount; + QString topic; + ChannelDescription(QString channelName_, quint32 userCount_, QString topic_) : channelName(std::move(channelName_)), userCount(userCount_), topic(std::move(topic_)) {}; + }; public slots: - inline virtual QVariantList requestChannelList(const NetworkId &netId, const QStringList &channelFilters) { emit channelListRequested(netId, channelFilters); return QVariantList(); } - inline virtual void receiveChannelList(const NetworkId &, const QStringList &, const QVariantList &) {}; - inline virtual void reportFinishedList(const NetworkId &netId) { emit finishedListReported(netId); } - -signals: - void channelListRequested(const NetworkId &netId, const QStringList &channelFilters); - void finishedListReported(const NetworkId &netId); + inline virtual QVariantList requestChannelList(const NetworkId &netId, const QStringList &channelFilters) { REQUEST(ARG(netId), ARG(channelFilters)); return QVariantList(); } + inline virtual void receiveChannelList(const NetworkId &, const QStringList &, const QVariantList &) {}; + inline virtual void reportFinishedList(const NetworkId &netId) { SYNC(ARG(netId)) } + inline virtual void reportError(const QString &error) { SYNC(ARG(error)) } }; - -#endif //IRCLISTHELPER_H