fixing request -> receive sync calls
[quassel.git] / src / common / buffersyncer.h
index 92ca54d..40df958 100644 (file)
@@ -29,6 +29,8 @@ class BufferSyncer : public SyncableObject {
 
 public:
   explicit BufferSyncer(QObject *parent);
+  explicit BufferSyncer(const QHash<BufferId, MsgId> &lastSeenMsg, QObject *parent);
+
   inline virtual const QMetaObject *syncMetaObject() const { return &staticMetaObject; }
 
   MsgId lastSeenMsg(BufferId buffer) const;
@@ -38,19 +40,29 @@ public slots:
   void initSetLastSeenMsg(const QVariantList &);
 
   virtual inline void requestSetLastSeenMsg(BufferId buffer, const MsgId &msgId) { emit setLastSeenMsgRequested(buffer, msgId); }
+
   virtual inline void requestRemoveBuffer(BufferId buffer) { emit removeBufferRequested(buffer); }
   virtual void removeBuffer(BufferId buffer);
+
   virtual inline void requestRenameBuffer(BufferId buffer, QString newName) { emit renameBufferRequested(buffer, newName); }
   virtual inline void renameBuffer(BufferId buffer, QString newName) { emit bufferRenamed(buffer, newName); }
 
+  virtual inline void requestMergeBuffersPermanently(BufferId buffer1, BufferId buffer2) { emit mergeBuffersPermanentlyRequested(buffer1, buffer2); }
+  virtual void mergeBuffersPermanently(BufferId buffer1, BufferId buffer2);
+
 signals:
   void lastSeenMsgSet(BufferId buffer, const MsgId &msgId);
   void setLastSeenMsgRequested(BufferId buffer, const MsgId &msgId);
+
   void removeBufferRequested(BufferId buffer);
   void bufferRemoved(BufferId buffer);
+
   void renameBufferRequested(BufferId buffer, QString newName);
   void bufferRenamed(BufferId buffer, QString newName);
 
+  void mergeBuffersPermanentlyRequested(BufferId buffer1, BufferId buffer2);
+  void buffersPermanentlyMerged(BufferId buffer1, BufferId buffer2);
+
 protected slots:
   bool setLastSeenMsg(BufferId buffer, const MsgId &msgId);