X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcore.h;h=6b0126cac7dd39d34ca31cb5c976cf2e9d3afbf2;hp=51237ec76dac9fcb6833238100bcce35b4c85fef;hb=0c9cd0eef379e1d3e10a75cc8506a7e65f95fd67;hpb=23ebdc0a422294764ff3be3f8d7e56cc2b323185 diff --git a/src/core/core.h b/src/core/core.h index 51237ec7..6b0126ca 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -130,6 +131,12 @@ class Core : public QObject { */ static QList requestBuffers(UserId user, QDateTime since = QDateTime()); + public slots: + //! Make storage data persistent + /** \note This method is threadsafe. + */ + void syncStorage(); + signals: //! Sent when a BufferInfo is updated in storage. void bufferInfoUpdated(UserId user, const BufferInfo &info); @@ -151,18 +158,23 @@ class Core : public QObject { SessionThread *createSession(UserId userId, bool restoreState = false); void setupClientSession(QTcpSocket *socket, UserId uid); - void processCoreSetup(QTcpSocket *socket, QVariantMap &msg); + void processClientMessage(QTcpSocket *socket, const QVariantMap &msg); + //void processCoreSetup(QTcpSocket *socket, QVariantMap &msg); + QString setupCore(const QVariant &setupData); - QStringList availableStorageProviders(); + bool registerStorageBackend(Storage *); + void unregisterStorageBackend(Storage *); - UserId guiUser; QHash sessions; Storage *storage; + QTimer _storageSyncTimer; QTcpServer server; // TODO: implement SSL QHash blocksizes; QHash clientInfo; + QHash _storageBackends; + QDateTime startTime; bool configured;