modernize: Pass arguments by value and move in constructors
[quassel.git] / src / common / message.h
index 8c0db36..8b16aa0 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 MESSAGE_H_
-#define MESSAGE_H_
+#pragma once
+
+#include "common-export.h"
 
 #include <QCoreApplication>
 #include <QDateTime>
@@ -27,7 +28,7 @@
 #include "bufferinfo.h"
 #include "types.h"
 
-class Message
+class COMMON_EXPORT Message
 {
     Q_DECLARE_TR_FUNCTIONS(Message)
 
@@ -67,11 +68,12 @@ public:
     };
     Q_DECLARE_FLAGS(Flags, Flag)
 
-    Message(const BufferInfo &bufferInfo = BufferInfo(), Type type = Plain, const QString &contents = {},
-            const QString &sender = {}, const QString &senderPrefixes = {}, Flags flags = None);
-    Message(const QDateTime &ts, const BufferInfo &buffer = BufferInfo(), Type type = Plain,
-            const QString &contents = {}, const QString &sender = {}, const QString &senderPrefixes = {},
-            Flags flags = None);
+    Message(BufferInfo bufferInfo = BufferInfo(), Type type = Plain, QString contents = {},
+            QString sender = {}, QString senderPrefixes = {}, QString realName = {},
+            QString avatarUrl = {}, Flags flags = None);
+    Message(QDateTime ts, BufferInfo buffer = BufferInfo(), Type type = Plain,
+            QString contents = {}, QString sender = {}, QString senderPrefixes = {},
+            QString realName = {}, QString avatarUrl = {}, Flags flags = None);
 
     inline static Message ChangeOfDay(const QDateTime &day) { return Message(day, BufferInfo(), DayChange); }
     inline const MsgId &msgId() const { return _msgId; }
@@ -83,6 +85,8 @@ public:
     inline const QString &contents() const { return _contents; }
     inline const QString &sender() const { return _sender; }
     inline const QString &senderPrefixes() const { return _senderPrefixes; }
+    inline const QString &realName() const { return _realName; }
+    inline const QString &avatarUrl() const { return _avatarUrl; }
     inline Type type() const { return _type; }
     inline Flags flags() const { return _flags; }
     inline void setFlags(Flags flags) { _flags = flags; }
@@ -99,6 +103,8 @@ private:
     QString _contents;
     QString _sender;
     QString _senderPrefixes;
+    QString _realName;
+    QString _avatarUrl;
     Type _type;
     Flags _flags;
 
@@ -106,7 +112,7 @@ private:
 };
 
 
-typedef QList<Message> MessageList;
+using MessageList = QList<Message>;
 
 QDataStream &operator<<(QDataStream &out, const Message &msg);
 QDataStream &operator>>(QDataStream &in, Message &msg);
@@ -115,5 +121,3 @@ QDebug operator<<(QDebug dbg, const Message &msg);
 Q_DECLARE_METATYPE(Message)
 Q_DECLARE_OPERATORS_FOR_FLAGS(Message::Types)
 Q_DECLARE_OPERATORS_FOR_FLAGS(Message::Flags)
-
-#endif