src: Yearly copyright bump
[quassel.git] / src / common / irclisthelper.h
index e62fda1..6fc859c 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-08 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  *
  *   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 "common-export.h"
+
+#include <utility>
 
 #include "syncableobject.h"
 #include "types.h"
  *      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) { setInitialized(); };
+    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); }
-  inline virtual void reportError(const QString &error) { emit errorReported(error); }
-
-signals:
-  void channelListRequested(const NetworkId &netId, const QStringList &channelFilters);
-  void finishedListReported(const NetworkId &netId);
-  void errorReported(const QString &error);
+    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