X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fcoreinfo.cpp;h=cfa86ab78808a3293baf16f7059ce882ca00d404;hb=6718d7a1ccd42d7aae75e57d6974e0b1e0384044;hp=2d35f42d51071e48f89f071a7605687694d99f16;hpb=76db8cdfbeffaaba359c8e80cf2146da9e9e7f8a;p=quassel.git diff --git a/src/common/coreinfo.cpp b/src/common/coreinfo.cpp index 2d35f42d..cfa86ab7 100644 --- a/src/common/coreinfo.cpp +++ b/src/common/coreinfo.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 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 * @@ -20,4 +20,32 @@ #include "coreinfo.h" -// this file is needed to make automoc work +INIT_SYNCABLE_OBJECT(CoreInfo) +CoreInfo::CoreInfo(QObject *parent) : SyncableObject(parent) {} + +QVariantMap CoreInfo::coreData() const +{ + return _coreData; +} + +void CoreInfo::setCoreData(const QVariantMap &coreData) +{ + _coreData = coreData; + SYNC(ARG(coreData)); + emit coreDataChanged(coreData); +} + +void CoreInfo::setConnectedClientData(const int peerCount, const QVariantList peerData) +{ + _coreData["sessionConnectedClients"] = peerCount; + _coreData["sessionConnectedClientData"] = peerData; + setCoreData(_coreData); +} + +void CoreInfo::reset() +{ + // Clear any stored data + _coreData.clear(); + // Propagate changes to listeners + emit coreDataChanged(_coreData); +}