modernize: Pass arguments by value and move in constructors
[quassel.git] / src / common / network.h
index eaa427c..9e50e4a 100644 (file)
@@ -18,8 +18,9 @@
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
-#ifndef NETWORK_H
-#define NETWORK_H
+#pragma once
+
+#include "common-export.h"
 
 #include <QString>
 #include <QStringList>
@@ -30,6 +31,7 @@
 #include <QPointer>
 #include <QMutex>
 #include <QByteArray>
+#include <utility>
 
 #include "types.h"
 #include "util.h"
@@ -47,10 +49,11 @@ struct NetworkInfo;
 
 // TODO: ConnectionInfo to propagate and sync the current state of NetworkConnection, encodings etcpp
 
-class Network : public SyncableObject
+class COMMON_EXPORT Network : public SyncableObject
 {
-    SYNCABLE_OBJECT
     Q_OBJECT
+    SYNCABLE_OBJECT
+
     Q_ENUMS(ConnectionState)
 
     Q_PROPERTY(QString networkName READ networkName WRITE setNetworkName)
@@ -132,19 +135,19 @@ public :
         Server() : port(6667), useSsl(false), sslVerify(true), sslVersion(0), useProxy(false),
             proxyType(QNetworkProxy::Socks5Proxy), proxyHost("localhost"), proxyPort(8080) {}
 
-        Server(const QString &host, uint port, const QString &password, bool useSsl,
+        Server(QString host, uint port, QString password, bool useSsl,
                bool sslVerify)
-            : host(host), port(port), password(password), useSsl(useSsl), sslVerify(sslVerify),
+            : host(std::move(host)), port(port), password(std::move(password)), useSsl(useSsl), sslVerify(sslVerify),
               sslVersion(0), useProxy(false), proxyType(QNetworkProxy::Socks5Proxy),
               proxyHost("localhost"), proxyPort(8080) {}
 
         bool operator==(const Server &other) const;
         bool operator!=(const Server &other) const;
     };
-    typedef QList<Server> ServerList;
+    using ServerList = QList<Server>;
 
-    Network(const NetworkId &networkid, QObject *parent = 0);
-    ~Network();
+    Network(const NetworkId &networkid, QObject *parent = nullptr);
+    ~Network() override;
 
     inline NetworkId networkId() const { return _networkId; }
 
@@ -758,7 +761,7 @@ private:
 
 
 //! Stores all editable information about a network (as opposed to runtime state).
-struct NetworkInfo
+struct COMMON_EXPORT NetworkInfo
 {
     QString networkName;
 
@@ -798,14 +801,12 @@ public:
     bool operator!=(const NetworkInfo &other) const;
 };
 
-QDataStream &operator<<(QDataStream &out, const NetworkInfo &info);
-QDataStream &operator>>(QDataStream &in, NetworkInfo &info);
-QDebug operator<<(QDebug dbg, const NetworkInfo &i);
+COMMON_EXPORT QDataStream &operator<<(QDataStream &out, const NetworkInfo &info);
+COMMON_EXPORT QDataStream &operator>>(QDataStream &in, NetworkInfo &info);
+COMMON_EXPORT QDebug operator<<(QDebug dbg, const NetworkInfo &i);
 Q_DECLARE_METATYPE(NetworkInfo)
 
-QDataStream &operator<<(QDataStream &out, const Network::Server &server);
-QDataStream &operator>>(QDataStream &in, Network::Server &server);
-QDebug operator<<(QDebug dbg, const Network::Server &server);
+COMMON_EXPORT QDataStream &operator<<(QDataStream &out, const Network::Server &server);
+COMMON_EXPORT QDataStream &operator>>(QDataStream &in, Network::Server &server);
+COMMON_EXPORT QDebug operator<<(QDebug dbg, const Network::Server &server);
 Q_DECLARE_METATYPE(Network::Server)
-
-#endif