modernize: Use '= default' instead of empty ctor/dtor bodies
[quassel.git] / src / common / peer.h
index 34a5661..803f15b 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2016 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  *
@@ -18,8 +18,9 @@
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
-#ifndef PEER_H
-#define PEER_H
+#pragma once
+
+#include "common-export.h"
 
 #include <QAbstractSocket>
 #include <QDataStream>
 
 #include "authhandler.h"
 #include "protocol.h"
-#include "signalproxy.h"
 #include "quassel.h"
+#include "signalproxy.h"
 
-class Peer : public QObject
+class COMMON_EXPORT Peer : public QObject
 {
     Q_OBJECT
 
 public:
-    explicit Peer(AuthHandler *authHandler, QObject *parent = 0);
+    explicit Peer(AuthHandler *authHandler, QObject *parent = nullptr);
 
     virtual Protocol::Type protocol() const = 0;
     virtual QString description() const = 0;
@@ -52,6 +53,7 @@ public:
     QString clientVersion() const;
     void setClientVersion(const QString &clientVersion);
 
+    bool hasFeature(Quassel::Feature feature) const;
     Quassel::Features features() const;
     void setFeatures(Quassel::Features features);
 
@@ -112,7 +114,7 @@ private:
 };
 
 // We need to special-case Peer* in attached signals/slots, so typedef it for the meta type system
-typedef Peer * PeerPtr;
+using PeerPtr = Peer *;
 Q_DECLARE_METATYPE(PeerPtr)
 
 QDataStream &operator<<(QDataStream &out, PeerPtr ptr);
@@ -145,5 +147,3 @@ void Peer::handle(const T &protoMessage)
             return;
     }
 }
-
-#endif