/***************************************************************************
- * 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 *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
-#ifndef PEER_H
-#define PEER_H
+#pragma once
#include <QAbstractSocket>
#include <QDataStream>
#include "authhandler.h"
#include "protocol.h"
+#include "quassel.h"
#include "signalproxy.h"
class Peer : public QObject
virtual SignalProxy *signalProxy() const = 0;
virtual void setSignalProxy(SignalProxy *proxy) = 0;
- const QDateTime &connectedSince() const;
+ QDateTime connectedSince() const;
void setConnectedSince(const QDateTime &connectedSince);
- const QString &buildDate() const;
+ QString buildDate() const;
void setBuildDate(const QString &buildDate);
- const QString &clientVersion() const;
+ QString clientVersion() const;
void setClientVersion(const QString &clientVersion);
+ bool hasFeature(Quassel::Feature feature) const;
+ Quassel::Features features() const;
+ void setFeatures(Quassel::Features features);
+
int id() const;
void setId(int id);
QString _buildDate;
QString _clientVersion;
+ Quassel::Features _features;
int _id = -1;
};
void Peer::handle(const T &protoMessage)
{
switch(protoMessage.handler()) {
- case Protocol::SignalProxy:
+ case Protocol::Handler::SignalProxy:
if (!signalProxy()) {
qWarning() << Q_FUNC_INFO << "Cannot handle message without a SignalProxy!";
return;
signalProxy()->handle(this, protoMessage);
break;
- case Protocol::AuthHandler:
+ case Protocol::Handler::AuthHandler:
if (!authHandler()) {
qWarning() << Q_FUNC_INFO << "Cannot handle auth messages without an active AuthHandler!";
return;
return;
}
}
-
-#endif