X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcore.cpp;h=2e3da6d9f4395cf2b9a9382d37d2d21b0ba938aa;hp=e222a137df29c28e65c98358ab771f95a7339349;hb=9d4aff06284de98df1eed1179b958833221f5f85;hpb=6f2f1723f5bb3d26908f6dd297890f6fba43793b diff --git a/src/core/core.cpp b/src/core/core.cpp index e222a137..2e3da6d9 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -28,6 +28,7 @@ #include "coresettings.h" #include "signalproxy.h" #include "sqlitestorage.h" +#include "network.h" Core *Core::instanceptr = 0; QMutex Core::mutex; @@ -48,6 +49,10 @@ Core::Core() : storage(0) { startTime = QDateTime::currentDateTime(); // for uptime :) + + connect(&_storageSyncTimer, SIGNAL(timeout()), + this, SLOT(syncStorage())); + _storageSyncTimer.start(10 * 60 * 1000); // in msecs } void Core::init() { @@ -94,6 +99,11 @@ Core::~Core() { qDeleteAll(sessions); } +void Core::syncStorage() { + QMutexLocker locker(&mutex); + return instance()->storage->sync(); +} + void Core::restoreState() { if(instance()->sessions.count()) { qWarning() << qPrintable(tr("Calling restoreState() even though active sessions exist!")); @@ -127,15 +137,24 @@ void Core::saveState() { } /*** Storage Access ***/ +bool Core::createNetworkId(UserId user, NetworkInfo &info) { + QMutexLocker locker(&mutex); + NetworkId networkId = instance()->storage->createNetworkId(user, info); + if(!networkId.isValid()) + return false; + + info.networkId = networkId; + return true; +} NetworkId Core::networkId(UserId user, const QString &network) { QMutexLocker locker(&mutex); return instance()->storage->getNetworkId(user, network); } -BufferInfo Core::bufferInfo(UserId user, const QString &network, const QString &buffer) { - //QMutexLocker locker(&mutex); - return instance()->storage->getBufferInfo(user, network, buffer); +BufferInfo Core::bufferInfo(UserId user, const NetworkId &networkId, const QString &buffer) { + QMutexLocker locker(&mutex); + return instance()->storage->getBufferInfo(user, networkId, buffer); } MsgId Core::storeMessage(const Message &message) {