X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fbuffersyncer.h;h=0973828f4c0d3b6e3f70208c9cb7a090cc070982;hp=f57caaec60eb356d53158209b47b8cb4df203667;hb=af569a42f6635f6abfcedeb45b730ee64d53e0b8;hpb=3c2914faeb01f3bc32e29f40179ae88040fbcf59 diff --git a/src/common/buffersyncer.h b/src/common/buffersyncer.h index f57caaec..0973828f 100644 --- a/src/common/buffersyncer.h +++ b/src/common/buffersyncer.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel IRC Team * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -29,6 +29,8 @@ class BufferSyncer : public SyncableObject { public: explicit BufferSyncer(QObject *parent); + explicit BufferSyncer(const QHash &lastSeenMsg, QObject *parent); + inline virtual const QMetaObject *syncMetaObject() const { return &staticMetaObject; } MsgId lastSeenMsg(BufferId buffer) const; @@ -48,6 +50,8 @@ public slots: virtual inline void requestMergeBuffersPermanently(BufferId buffer1, BufferId buffer2) { emit mergeBuffersPermanentlyRequested(buffer1, buffer2); } virtual void mergeBuffersPermanently(BufferId buffer1, BufferId buffer2); + virtual inline void requestPurgeBufferIds() { emit purgeBufferIdsRequested(); } + signals: void lastSeenMsgSet(BufferId buffer, const MsgId &msgId); void setLastSeenMsgRequested(BufferId buffer, const MsgId &msgId); @@ -61,8 +65,11 @@ signals: void mergeBuffersPermanentlyRequested(BufferId buffer1, BufferId buffer2); void buffersPermanentlyMerged(BufferId buffer1, BufferId buffer2); + void purgeBufferIdsRequested(); + protected slots: bool setLastSeenMsg(BufferId buffer, const MsgId &msgId); + QList bufferIds() const { return _lastSeenMsg.keys(); } private: QHash _lastSeenMsg;