Don't return const refs from methods
[quassel.git] / src / common / peer.h
index 79204b4..64a333c 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2015 by the Quassel Project                        *
+ *   Copyright (C) 2005-2016 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -34,7 +34,7 @@ class Peer : public QObject
     Q_OBJECT
 
 public:
-    Peer(AuthHandler *authHandler, QObject *parent = 0);
+    explicit Peer(AuthHandler *authHandler, QObject *parent = 0);
 
     virtual Protocol::Type protocol() const = 0;
     virtual QString description() const = 0;
@@ -42,6 +42,18 @@ public:
     virtual SignalProxy *signalProxy() const = 0;
     virtual void setSignalProxy(SignalProxy *proxy) = 0;
 
+    QDateTime connectedSince() const;
+    void setConnectedSince(const QDateTime &connectedSince);
+
+    QString buildDate() const;
+    void setBuildDate(const QString &buildDate);
+
+    QString clientVersion() const;
+    void setClientVersion(const QString &clientVersion);
+
+    int id() const;
+    void setId(int id);
+
     AuthHandler *authHandler() const;
 
     virtual bool isOpen() const = 0;
@@ -50,6 +62,9 @@ public:
 
     virtual int lag() const = 0;
 
+    virtual QString address() const = 0;
+    virtual quint16 port() const = 0;
+
 public slots:
     /* Handshake messages */
     virtual void dispatch(const Protocol::RegisterClient &) = 0;
@@ -82,6 +97,13 @@ protected:
 
 private:
     QPointer<AuthHandler> _authHandler;
+
+    QDateTime _connectedSince;
+
+    QString _buildDate;
+    QString _clientVersion;
+
+    int _id = -1;
 };
 
 // We need to special-case Peer* in attached signals/slots, so typedef it for the meta type system