X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fcoreinfo.cpp;h=cfa86ab78808a3293baf16f7059ce882ca00d404;hb=6718d7a1ccd42d7aae75e57d6974e0b1e0384044;hp=a2d4df8b6e93337a8ea700b8830e458f5cc2a809;hpb=9d54503555534a2c554f09a33df6afa33d6308ec;p=quassel.git diff --git a/src/common/coreinfo.cpp b/src/common/coreinfo.cpp index a2d4df8b..cfa86ab7 100644 --- a/src/common/coreinfo.cpp +++ b/src/common/coreinfo.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 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); +}