common: Represent core/client features as string list in the protocol
[quassel.git] / src / common / peer.cpp
index 25ff814..84f292e 100644 (file)
@@ -33,7 +33,7 @@ AuthHandler *Peer::authHandler() const
     return _authHandler;
 }
 
-const QDateTime &Peer::connectedSince() const {
+QDateTime Peer::connectedSince() const {
     return _connectedSince;
 }
 
@@ -41,7 +41,7 @@ void Peer::setConnectedSince(const QDateTime &connectedSince) {
     _connectedSince = connectedSince;
 }
 
-const QString &Peer::buildDate() const {
+QString Peer::buildDate() const {
     return _buildDate;
 }
 
@@ -49,7 +49,7 @@ void Peer::setBuildDate(const QString &buildDate) {
     _buildDate = buildDate;
 }
 
-const QString &Peer::clientVersion() const {
+QString Peer::clientVersion() const {
     return _clientVersion;
 }
 
@@ -57,6 +57,19 @@ void Peer::setClientVersion(const QString &clientVersion) {
     _clientVersion = clientVersion;
 }
 
+bool Peer::hasFeature(Quassel::Feature feature) const {
+    return _features.isEnabled(feature);
+}
+
+Quassel::Features Peer::features() const
+{
+    return _features;
+}
+
+void Peer::setFeatures(Quassel::Features features) {
+    _features = std::move(features);
+}
+
 int Peer::id() const {
     return _id;
 }